判断表(临时表),存储过程是否存在,判断存储过程
1.判断正式表或者存储过程是否存在 select * from dbo.sysobjects where id=OBJECT_ID(N'dbo.Users') and type='U' --U表示表select * from dbo.sysobjects where id= object_id(N'usp_InsertAliPayFeedback') and type='P' --P表示存储过程
2.判断临时表类型 select * from tempdb.dbo.sysobjects where id= OBJECT_ID(N'tempdb.dbo.#tempa') and type='U' --U表示表
select * from tempdb.dbo.sysobjects where id= OBJECT_ID(N'usp_InsertAliPayFeedback') and type='P' --P表示存储过程
对象类型。可以是下列值之一:
C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束
FN = 标量函数 IF = 内嵌表函数 K = PRIMARY KEY 或 UNIQUE 约束
L = 日志 P = 存储过程 R = 规则 RF = 复制筛选存储过程
S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 V = 视图 X = 扩展存储过程
举个小例子: if exists(select * from tempdb.dbo.sysobjects where id= OBJECT_ID(N'tempdb.dbo.#tempa')) --是否存在该临时表 drop table #tempa --存在则删除 create table #tempa ( Num int, Name varchar(20) default '名字' --列的默认值设置 ) declare @a int set @a = 1 while @a<30 begin insert into #tempa (Num) values (@a) set @a = @a+1 end select * from #tempa
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。