SQLServer数据库的各种判断是否存在(表名、函数、存储过程等)
如何判断SQL Server中的表或数据库是否存在,但在实际使用中,必须判断状态状态位:一些状态位可以设置使用sp_dboption用户(只读,DBO使用,单用户,等)。
1 = autoclose;设置sp_dboption.the数据库是完全封闭的,它的资源是最后用户注销后发布。
4 =选择为 /海量拷贝;设置sp_dboption.allow使用SELECT INTO语句和快速大容量复制。
8 = TRUNC。登录chkpt;设置sp_dboption.if数据库是在截断日志模式,检查点会截断日志的非活动部分。此选项只能设置主database.16 =残缺页检测,设置sp_dboption.the残页可以被检测到。
32 =加载。
64 =恢复前。
128 =恢复。
256 =未恢复。
512 =离线;设置sp_dboption.the数据库将处于脱机状态。
1024 =只读;设置sp_dboption.the用户只能读取数据库中的数据,而不能修改它。
2048 = DBO使用;设置sp_dboption.only数据库所有者可以使用数据库。
4096 =单用户;设置sp_dboption.only一个用户可以同时访问数据库。
32768 =紧急模式。
4194304 =自动收缩。
1073741824 =干净关机。
多个比特可以同时打开。
例如:确定数据库是否脱机。
SELECT * FROM master.dbo.sysdatabases name = 'pubs'and现状<> 512
SQLServer决定表对象是否存在:
select count(*)从sysobjects id是object_id('database name.owner。表名
如果存在
(select count(*)从sysobjects id是object_id('database name.owner。表名)
打印'存在'
其他的
打印否
SQLServer确定表中的字段是否存在:
如果存在(SELECT * FROM列name = 'colname1'and ID = object_id(数据库name.owner。表名)
打印'存在'
其他的
打印否
在代表表tablename1有colname1场
例:
SELECT * FROM列name = 'test'and ID = object_id('dbo。测试)
Access决定表对象是否存在:
事实上,Access数据库也有一个具有对象名称的系统表。
select count(*)作为数量从msysobjects哪里(msysobjects。名字)像表名称);
复制代码代码如下所示:
图书馆存在吗
如果存在(选择主..中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 )的名字