日期:2014-05-18  浏览次数:20484 次

DTS包中的全局变量怎样在查询中显示出来?
select   ?   as   StatDate,sum(case   IType   when   '-1 '   then   ICount   else   0   end)     as   unbal
from   dbo.TJFX_SMS_LLTJ  
where   ITelecom   =   0   and   IReport= '0 '  
--类似这样写不可以,好像全局变量的参数只能在where条件表达式里出现,那怎样才能把全局变量StatDate这个参数传入查询结果里呢?


------解决方案--------------------
应该选定义一变量,再将参数传入变量中
clare @S int
set @S=?
select @S as StatDate,sum(case IType when '-1 ' then ICount else 0 end) as unbal
from dbo.TJFX_SMS_LLTJ
where ITelecom = 0 and IReport= '0 '
------解决方案--------------------
1.建立一个存储过程,参数为你所需要的字段名(varchar型),存储过程内为动态执行sql语句,也就是类似 exec (@sqlcmd)
2.在DTS包内调用该存储过程,如sp1(?).
3.在DTS包内建立全局变量做为sp1的参数

------解决方案--------------------
单独查询语句放在存储过程中意义不是很大,可以把整个UPDATE都放进去.然后通过EXECUTE SQL TASK去执行存储过程.这样可以避免DATA DRIVEN QUERY TASK给你的错误提示