日期:2011-05-02 15:20:00 来源:本站整理
DTS--在变量或是在暂时表和表变量中利用Input Global Variables[MSSQL防范]
本文“DTS--在变量或是在暂时表和表变量中利用Input Global Variables[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一向认为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 (?, ?)
以上是“DTS--在变量或是在暂时表和表变量中利用Input Global Variables[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论