SQLServer中判断表或临时表是否存在的一种方法

SQLServer中判断表或临时表是否存在的一种方法
1。确定数据表是否存在

方法1:
使用yourdb;
如果object_id(n'tablename ',n'u)是无效的
打印'存在'
其他的
打印否
例如:
使用fireweb;
如果object_id(n'temp_tbl ',n'u)是无效的
打印'存在'
其他的
打印否
方法二:
使用{实例名}
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{表名)客体(ID,'istable)= 1)
打印'存在'
其他的
print'does并不存在
例如:
使用fireweb;
如果存在(SELECT * FROM dbo.sysobjects id是object_id(n'temp_tbl)和客体(ID)= 1)
打印'存在'
其他的
print'does并不存在
2。临时表是否存在:

方法1:
使用fireweb;
如果存在(SELECT * FROM tempdb .. sysobjects id是object_id('tempdb .. # # temp_tbl '))
打印'存在'
其他的
print'does并不存在
方法二:
使用fireweb;
如果存在(SELECT * FROM tempdb.dbo.sysobjects id是object_id(n'tempdb .. # temp_tbl ')和U型=)
打印'存在'
其他的
print'does并不存在
以下是补充介绍

在SQLServer中,我们应该创造资源,如在所有数据库表和视图,并决定是否创建存储资源。

在SQLServer中,你通常可以找到的结果通过查询sys.objects系统表,但有做一个更方便的方法

如下:
如果object_id('tb_table)是无效的
print'exist
其他的
print'not存在
如上所述,object_id()可以用来快速达到同样的目的。tb_table是我将创建的资源的名称,所以我们需要确定当前数据库中相同的资源。

object_id()接受两个参数。第一个,如上所示,表示资源的名称和上面表的名称。但是我们经常想解释我们将要创建什么样的资源。

因此,SQL可以清楚地发现资源中是否有重复的名称,如下所示:
如果object_id('tb_table,U)是无效的
print'exist
其他的
print'not存在
第二个参数U意味着tb_table由用户创建的表的user_table缩写

查询sys.objects获得各种资源的类型名称(列),几个主要的例子

U -创建一个表,从系统表(user_table)

表系统(system_table)

视图(视图)

P -存储过程(sql_stored_procedure)

你可以选择不同的类型,从sys.objects获得所有的信息type_desc
图书馆存在吗
如果存在(选择主..中name = N *库名)
print'exists
其他的
print'not存在

-确定要创建的表的名称是否存在。
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{ } {dbo。表名)客体(ID,n'isusertable)= 1)
删除
删除表{ } { } DBO的表名。


----列是否存在
如果col_length(}}的名字,列名称)是无效的
print'not存在
其他的
print'exists
更改表表名称、删除限制、默认值名称

更改表表名下拉列名称的名称


-确定是否创建临时表。
如果object_id('tempdb。dbo。# test)是无效的
开始
打印'存在'
终点
其他的
开始
打印否
终点

-确定要创建的存储过程的名称是否存在。
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{ } {dbo。客体的存储过程的名称)(ID,n'isprocedure)= 1)
-删除存储过程
删除过程{ dbo存储过程名称} { }。


-确定要创建的视图名称是否存在。
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{ } {dbo。客体的视图名称)(ID,n'isview)= 1)
删除视图
删除视图{ } { } DBO视图名称。


-确定要创建的函数名是否存在
如果存在(SELECT * FROM sysobjects,xtype = 'fn'and名称=函数名)
如果存在(SELECT * FROM dbo.sysobjects id是object_id(N'{ DBO }。{和X型的函数名称)(n'fn ',n'if ',n'tf '))
-删除功能
{ } { DBO滴功能函数名称}。

如果col_length(}}的名字,列名称)是无效的
打印否
1,从中选择ID(ID列选择从name = 'name )的名字
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部