欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

交叉制表--检查列的计数值和长度并加入行数据(9)

程序员文章站 2024-02-03 21:56:58
...

交叉制表--检查列的计数值和长度并加入行数据(9) 交叉表 --除了需要证实列的计数值和名称长度,如果一切正常用户还需要填写#rownames表--check column countif (select count(*) from #colnames)1023begin drop table #colnames raiserror 51004 'distinct co

交叉制表--检查列的计数值和长度并加入行数据(9)
交叉表
--除了需要证实列的计数值和名称长度,如果一切正常用户还需要填写#rownames表
--check column count
if (select  count(*) from #colnames)>1023
begin
  drop table #colnames
  raiserror  51004 'distinct column count exceeded max of 1023'
  return -1
end
--verify colnames do not exceed max length
if (select max(datalength(rtrim(colname))-1) from #colnames)>29
begin
  drop table #colnames
   raiserror 51050 'column data length exceeded max of 30'
  return -1
end
--if all is ok ,continue to add #rownames data
select @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 @chvexec
exec(@chvexec)