2

我有一个查询如下

IF EXISTS( SELECT * from @dbname.dbo.tbl1)
   BEGIN
   ...
   END
ELSE
   BEGIN
   ...
   END

此外,if 和 else 的开始和结束部分的代码足够大,可以用作动态查询的字符串。我怎样才能做到这一点?

4

1 回答 1

0
USE MASTER
DECLARE @dbname sysname
SET @dbname = 'MyDB'

IF EXISTS (SELECT NULL FROM sysdatabases WHERE name = @dbname)
BEGIN
-- Action if true
END
ELSE
BEGIN
-- Action if False
END

如果您想检查特定表,如您的问题中所暗示的,您可以修改为

IF EXISTS (SELECT NULL FROM sysobjects WHERE name = @dbname AND type = 'U')
于 2013-10-22T09:09:20.773 回答