首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

DTS包中的全局变量怎样在查询中显示出来?解决思路

2012-02-01 
DTS包中的全局变量怎样在查询中显示出来?select?asStatDate,sum(caseITypewhen-1thenICountelse0end)asunb

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给你的错误提示

热点排行