>  기사  >  데이터 베이스  >  交叉制表-验证对象的存在(3)

交叉制表-验证对象的存在(3)

WBOY
WBOY원래의
2016-06-07 14:54:351287검색

交叉制表-验证对象的存在(3) 交叉表 --通过考察sysobjects 表可以验证源对象的存在性.所有提供的三个列分别被检查以查看---他们对于提供的源对象在syscolumns表中是否存在. --check if source exists if not exists (select * from sysobjects where name=@c

交叉制表-验证对象的存在(3) 交叉表
--通过考察sysobjects 表可以验证源对象的存在性.所有提供的三个列分别被检查以查看---他们对于提供的源对象在syscolumns表中是否存在.
 --check if source exists     
if not exists
        (select * from sysobjects where name=@chrsource and type in(''v'',''u''))
    begin
       raiserror 51001 ''source does not exist.''
       return -1
    end
--check for column existence
  if not exists
  (select sc.name from syscolumns sc join sysobjects so on sc.id=so.id 
   where so.name=@chrsource and sc.name=@chrhead)
 begin
     raiserror 51002 ''invalid @chrcolhead name''
     return -1
 end
  if not exists
   (select sc.name from syscolumns sc join sysobjects so on sc.id=so.id
    where so.name=@chrsource and sc.name=@chrrowhead)
  begin
     raiserror 51002 ''invalid @chrrowhead name''
     return -1
 end
  
  if not exists
  (select sc.name from syscolumns sc join sysobjects so on sc.id=so.id
   where so.name=@chrsource and sc.name=@chrvalue)
 begin
     raiserror 51002 ''invalid @chrvalue name''
     return -1
 end
--verify type  is valid 1(sum) 2(avg) etc...
 if @inytype<1 or @inytype>5
-- if @inytype not between 1 and 5
 begin
    raiserror 51000 ''invalid crosstab type''
    return -1
 end
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.