在DB exists语句中将DB名称作为变量传递

时间:2013-10-22 08:45:14

标签: sql sql-server tsql

我的查询如下

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

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

1 个答案:

答案 0 :(得分: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')