2009-07-16 50 views
1

我使用的MS SQL Server 2000 SP4,我有這部分腳本,用於檢查現有的數據庫:MS SQL Server 2000中 - 檢查現有的數據庫錯誤

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 

我不斷收到此錯誤:

無法找到數據庫「MY_DBNAME」的sysdatabases中的條目。沒有找到該名稱的條目。確保名稱輸入正確。

有沒有辦法來禁用這個消息,或者是否有另一種方法來檢查,如果表存在?

回答

4

它試圖編譯整個事情,包括「使用MY_DBNAME」在運行之前。編譯失敗,因爲此數據庫不存在。我擔心,你不能在單個SQL批處理中做你想做的事情。

1

感謝您的提示,我已經找到了解決辦法:

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 
相關問題