萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> sql server教程 >> DTS--在變量或是在臨時表和表變量中使用Input Global Variables

DTS--在變量或是在臨時表和表變量中使用Input Global Variables

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

關鍵詞:

copyright © 萬盛學電腦網 all rights reserved