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