【发布时间】:2015-01-09 20:18:39
【问题描述】:
我正在尝试在 SQL 语句中查找一个变量,然后从中设置一个 SQLCMD 模式变量。像这样的:
:setvar MYVARIABLE "1"
DECLARE @MYVARIABLE int
SELECT @MYVARIABLE=col1 FROM mytable WHERE ID=1
-- This line is wrong
SET $(MYVARIABLE) = @MYVARIABLE
SELECT * FROM another_table WHERE ID = $(MYVARIABLE)
我知道我可以这样做:
SELECT * FROM another_table WHERE ID = @MYVARIABLE
问题是有一些使用$(MYVARIABLE) 的现有代码,我试图不去碰它。
运行 SQL 代码后如何设置 $(MYVARIABLE)?
【问题讨论】:
-
你不能那样做。该脚本分两个阶段运行。首先:SQLCMD 东西运行。然后 T-SQL 运行。当@MYVARIABLE 存在时,MYVARIABLE 不存在。
标签: sql-server sqlcmd