Access教程
  • sql server教程
  • MySQL教程 DB2教程 ORACLE教程
    当前位置:教程 > 数据库 > sql server教程 > 正文

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

    编辑:教程网 来源:网络 时间:2011年09月10日 15:46

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


  • 原文来自 教程网 转载请注明:http://www.websmill.com/shujuku/sql_server/22488.html

  • 上一篇:SQL Server 中易混淆的数据类型
  • 下一篇:MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password