当前位置:Gxlcms > 数据库问题 > SQL Server系统表sysobjects介绍与使用

SQL Server系统表sysobjects介绍与使用

时间:2021-07-01 10:21:17 帮助过:7人阅读

* FROM sysobjects WHERE xtype = <type of interest> --例如:查看视图 SELECT * FROM sysobjects WHERE xtype = V

判断数据库中是否已经存在某个表,有的话就删除该表

--方法一:
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[表名]) and OBJECTPROPERTY(id, NIsUserTable) = 1)
drop table [dbo].[表名]

--方法二:
if exists (select * from sysobjects where id = object_id(N表名) and OBJECTPROPERTY(id, NIsUserTable) = 1)
drop table [dbo].[表名]

--方法三:
if(Exists(Select * From SysObjects Where xtype=U And Name=表名)) 
drop table [dbo].[表名]

以后继续补充。

某些朋友的一些疑问:

1、问:object_id(N‘表名‘)中N‘代表什么意思?

答:N‘‘ 代表 Unicode类型.可以支持不同语种的对象名

2、 问:select   *   from   dbo.sysobjects   where   id   =   object_id(N‘[dbo].[usertab]‘)   and   OBJECTPROPERTY(id,   N‘IsUserTable‘)   =   1   
这句中的object_id(N‘[dbo].[usertab]‘)和OBJECTPROPERTY(id,   N‘IsUserTable‘)   =   1   
是什么意思?

答:object_id(N‘[dbo].[usertab]‘):是得出系统给表usertab分配的唯一ID   
OBJECTPROPERTY(id,   N‘IsUserTable‘)   =   1   
该对象的属性是表类型的 objectproperty(id,property)函数的使用,

3、 问:USE master SELECT * FROM ...SysObjects ” ...sysobjects ” -- 三个句点的前缀是什么意思?

答:对数据库对象名的 Transact-SQL 引用可以是由四部分组成的名称,格式如下:[ server_name.[[database_name].[owner_name]. | database_name.[owner_name]. | owner_name.] ] object_name

未完待续(XX尚未成功,后面要靠大家了)……

SQL Server系统表sysobjects介绍与使用

标签:foreign   成功   and   架构   stat   key   sql   int   格式   

人气教程排行