繁体中文
设为首页
加入收藏
当前位置:数据库技术首页 >> Sql Server教程 >> DTS--在变量或是在临时表和表变量中使用Input Global Variables

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

2007-04-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:一直以为DTS的Execute SQL Task中不能将Input Global Variables的值赋给变量或是在临时表和表变量中使用, 比如: declare @cid int declare @cvalue varchar(20) set @cid = ? set @cvalue = ? delete from CDTem...

一直以为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 (?, ?)

责任编辑:admin
相关文章