变量sysname sys.database

时间:2016-03-28 23:47:42

标签: sql-server

您好我想问我知道它很简单,但无法解决这个简单的陈述。

我试图创建一个搜索特定数据库的adhoc脚本。我使用这个作为我的脚本样本,但结果不同。

我有一个数据库名称MEL,但是当我尝试使用declareset进行查询时,它没有显示任何名为Mel的数据库,而是sys.database它存在。

declare @database sysname

set @database = ('Mel')

select name FROM master.sys.databases
where name = '@database'
use master
select * from master.sys.databases
where name = ('Mel')

希望有人回答。提前致谢。

1 个答案:

答案 0 :(得分:0)

应该是:

select name FROM master.sys.databases
where name = @database

您的原始查询会搜索名称为'@database'的数据库,而不是变量@database的值。

此外,您可以删除set语句中的括号。

set @database = 'Mel'