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

Posted Aaron.Li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断表(临时表),存储过程是否存在相关的知识,希望对你有一定的参考价值。

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
————————————————
版权声明:本文为CSDN博主「Richard_dzh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Richard_dzh/article/details/45094951

以上是关于判断表(临时表),存储过程是否存在的主要内容,如果未能解决你的问题,请参考以下文章

sql判断临时表是不是存在

sql判断临时表是不是存在

如何判断一个临时表是不是存在呢?

SQL数据是否存在(是否有数据)判断,表,存储过程是否存在

判断临时表是否存在,存在就删除

sqlserver中判断表或临时表是否存在