交叉制表--检查列的计数值和长度并加入行数据(9)
交叉表 --除了需要证实列的计数值和名称长度,如果一切正常用户还需要填写#rownames表--check column countif (select count(*) from #colnames)>1023begin drop table #colnames raiserror 51004 'distinct column count exceeded max of 1023' return -1end--verify colnames do not exceed max lengthif (select max(datalength(rtrim(colname))-1) from #colnames)>29begin drop table #colnames raiserror 51050 'column data length exceeded max of 30' return -1end--if all is ok ,continue to add #rownames dataselect @chvexec='insert #rownames select distinct '+ case @introwtype when 1 then 'convert(varchar(255),' else '' end +rtrim(@chrrowhead)+ case @introwtype when 1 then ')' else '' end +'from '+@chrsource--print @chvexecexec(@chvexec)