我想对来自不同数据库的不同查询使用相同的值
喜欢
DECLARE @GLOBAL_VAR_1 INT = Value_1
DECLARE @GLOBAL_VAR_2 INT = Value_2
USE "DB_1"
GO
SELECT * FROM "TABLE" WHERE "COL_!" = @GLOBAL_VAR_1
AND "COL_2" = @GLOBAL_VAR_2
USE "DB_2"
GO
SELECT * FROM "TABLE" WHERE "COL_!" = @GLOBAL_VAR_2
但它给人错误。
有人可以提出任何建议的方式吗?
最佳答案
在Transact-SQL中无法声明全局变量。但是,如果要在一个脚本的多个批次之间访问所有您想要的变量,则可以使用SSMS的 SQLCMD 工具或SQLMSD的 SQLCMD模式并定义该特定于工具/模式的变量,如下所示:
:setvar myvar 10
然后像这样使用它们:
$(myvar)
要使用SSMS的SQLCMD模式: