码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-17 14:00:06      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:sqlserver   sql   数据   

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

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

标签:sqlserver   sql   数据   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!