首页 > 其他 > 详细

判断表(临时表),存储过程是否存在

时间:2015-04-17 13:57:48      阅读:201      评论:0      收藏:0      [点我收藏+]
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

判断表(临时表),存储过程是否存在

原文:http://blog.csdn.net/richard_dzh/article/details/45094951

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!