您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> sql server教程 >> 正文

DTS--在变量或是在临时表和表变量中使用Input Global Variables

作者:佚名    责任编辑:admin    更新时间:2022-06-22

一直以为DTS的Execute SQL Task中不能将Input Global Variables的值赋给变量或是在临时表和表变量中使用, 比如:

declare @cid int
declare @cvalue varchar(20)
set @cid = ?
set @cvalue = ?
delete from CDTemp
where ConditionalID = @cid and conditionalvalue = @cvalue

这样写的话是没有办法设置这两个Input Global Variables的名字的, 因为这段script的parse过不了. 为什么过不了呢? 我 猜 是因为变量是动

态declare的, 而不是DB中已经存在的对象, 因此sql server没有办法确定这段script是否正确.
其实我们可以bypass sqlserver的parse的 :)
我们先写这样一段:
Delete CDTemp
Where ConditionalID = ? and conditionalvalue = ?
然后设置两个Input Global Variables的名字 然后删除这句script, 将上面的那段script  copy进来, 直接OK


事实证明这是可行的
同理, 在临时表和表变量中也可以使用Input Global Variables
eg:
input #Temp (cid, cvalue)
values (?, ?)

关键词: