要写很多重复类似的语句,有什么好方法?
要写一个静态交叉表的代码(不使用动态交叉表主要是在查询量还不到实际查询量的十分之一进行测试时,速度已经慢地不行了),里面会有很多大量重复的类似语句,比如:“SUM(CASE 日期 WHEN '20060207' THEN 现手 ELSE NULL END) AS [20060207],”
之类的。其中的20060207是不断变化的,未了省点时间,也未了避免出错,我就想有没有办法来直接实现在查询分析器里print出语句来,这样直接复制一把以求省事又不出错。
试写了语句:
declare @c int,
@d varchar(100),
@e char(3000)
select @c=1
while @c<6
begin
select @d=(case @c when 1 then '20060207'
when 2 then '20060208'
when 3 then '20060209'
when 4 then '20060210'
when 5 then '20060213'
else '0'
end)
在此中间部分就是想用这种循环及print来做出大量类似这样的语句:“SUM(CASE 日期 WHEN '20060207' THEN 现手 ELSE NULL END) AS [20060207],”
其中的日期就用变量@d去替换。
select @c=@c+1
if @c>5
break
else
continue
end
试了很久做不出来,请高人看看怎么做,谢谢!
另,我在实际操作中要写500行这样的语句,如果用这个循环能写出来我就只需每个
日期写一遍,这样省点时间不说,还不容易出错,而且一旦出错也容易检查。