当前位置: 代码迷 >> Sql Server >> 行转换列的列数目!该如何解决
  详细解决方案

行转换列的列数目!该如何解决

热度:37   发布时间:2016-04-24 18:45:20.0
行转换列的列数目!!!!
行转换列的存储过程
ALTER PROCEDURE [dbo].[c_p_dj]
(
  @bj nvarchar(100)
)
AS
declare @sql nvarchar(1000)
select @sql=isnull(@sql+',','')
  +'max(case djplace when '''+djplace+''' then djcode else NULL end) as ['+djplace+']' 
from (select distinct djplace from c_v_dj1 where jcmodel=@bj) as a

set @sql='select jccode,'+@sql+' from c_v_dj1 where jcmodel='''+@bj+''' group by jccode'
exec(@sql)


列:djplace有30条以下的数据时,运行正确,超过30条数据时,运行存储过程就出错:消息 102,级别 15,状态 1,第 1 行
'cas' 附近有语法错误。

行转换列的列数目有限制么????
------解决方案--------------------
declare @sql nvarchar(1000) 
改为
declare @sql nvarchar(4000) 
  相关解决方案