当前位置: 代码迷 >> Sql Server >> 关于存储过程的有关问题,达人请进。
  详细解决方案

关于存储过程的有关问题,达人请进。

热度:43   发布时间:2016-04-27 15:44:29.0
关于存储过程的问题,达人请进。。。。
set   @a=1
declare   @sql   nvarchar(50)
set   @sql= 'CREATE   TABLE   #temp4   (corp_name   nvarchar(50)   null,   '
while   @i> 0
    begin
            set   @sql   [email protected]+ 'fee '[email protected]+ '   decimal(13,2)   null,sumfee '[email protected]+ '   decimal(13,2)   null '
            set   @[email protected]+1
            set   @[email protected]
    end  
set   @[email protected]+ ') '  


[email protected]=13  
@[email protected]   型的  
错误可能出在set   @sql   [email protected]+ 'fee '[email protected]+ '   decimal(13,2)   null,sumfee '[email protected]+ '   decimal(13,2)   null '中  
[email protected]   nvarchar型的   @a是int   型的
我将他们相加   可能就出错了  
各位达人帮忙看看,谢谢了


------解决方案--------------------
declare @a int
declare @i int
set @i=13
set @a=1
declare @sql nvarchar(4000) --定义的长度太小了
set @sql= 'CREATE TABLE #temp4 (corp_name nvarchar(50) null, '
while @i> 0
begin
set @[email protected]+ 'fee '+rtrim(@a)+ ' decimal(13,2) null,sumfee '+rtrim(@a)+ ' decimal(13,2) null '
set @[email protected]+1
set @[email protected]

end
set @[email protected]+ ') '

print @sql
  相关解决方案