MS SQL Server 2000 - تحقق من وجود خطأ قاعدة البيانات الموجود
-
16-09-2019 - |
سؤال
يمكنني استخدام MS SQL Server 2000 SP4 ولدي هذا الجزء من البرنامج النصي، الذي يتحقق من قاعدة البيانات الموجودة:
IF EXISTS (SELECT * FROM sysdatabases WHERE name='MY_DBNAME')
BEGIN
PRINT 'Using the existing database MY_DBNAME.'
USE MY_DBNAME
END
ELSE
BEGIN
PRINT 'Creating new database MY_DBNAME.'
CREATE DATABASE MY_DBNAME
END
GO
وأظل الحصول على هذا الخطأ:
تعذر تحديد موقع الدخول في SysDatabases لقاعدة البيانات "my_dbname". ليس هناك من مداخلة بهذا الاسم. تأكد من أن الاسم إدخالها بشكل صحيح.
هل هناك طريقة لتعطيل هذه الرسالة، أم أنها هناك طريقة أخرى للتحقق، إذا كان جدول موجود؟
المحلول
يحاول ترجمة الأمر بأكمله، بما في ذلك "استخدام my_dbname" قبل تشغيله. فشل التجميع لأن قاعدة البيانات هذه غير موجودة. لا يمكنك ذلك، أخشى أن أفعل ما تحاول القيام به في دفعة SQL واحدة.
نصائح أخرى
بفضل تلميحاتك لقد وجدت الحل:
IF EXISTS (SELECT * FROM sysdatabases WHERE name='MY_DBNAME')
BEGIN
PRINT 'Using the existing database MY_DBNAME.'
END
ELSE
BEGIN
PRINT 'Creating new database MY_DBNAME.'
CREATE DATABASE [MY_DBNAME]
END
GO
USE [MY_DBNAME]
GO
لا تنتمي إلى StackOverflow