请帮助我理解为什么不能设置FILE如下所示 -
DECLARE @name varchar(100)
DECLARE @db varchar(50)
SET @db = N'Adventure'
SET @name = @db + '_bak' --okay, allowed
SELECT @name
RESTORE DATABASE [@db]
FILE = @db + '_bak' -- NOT allowed
--mode code to be added
我知道我可以使用变量设置FILE
,但我不想创建变量
只是为了那个。如何直接设置FILE
?
答案 0 :(得分:0)
就是这样:你不能像在编程语言中那样在SQL中自由地使用表达式,特别是对于函数参数。
你必须在这里使用常量表达式,无论是字符串还是变量。