2009-07-16 56 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 
相关问题