我想对来自不同数据库的不同查询使用相同的值

喜欢

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模式:

10-04 21:44
查看更多