if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer

来源:互联网 发布:台灯牌子 知乎 编辑:程序博客网 时间:2024/05/18 20:32

这句话是什么意思?if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer

请问:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPersonData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
中的object_id(N'[dbo].[PerPersonData]')是什么意思?那个object_id函数?那个N?
还有OBJECTPROPERTY(id, N'IsUserTable') = 1中的OBJECTPROPERTY函数是什么意思?那个=1又是什么意思?

OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPersonData)。

OBJECTPROPERTY:返回当前数据库中对象的有关信息。1表“真”。同样可以写成OBJECTPROPERTY(id, sUserTable) = 1。


整条语句的意思是判断数据库里有没有存在PerPersonData这样一张表。


整条语句可以简写成:
if exists (select * from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)


--------------------------------------------------------------------------------------------------------

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[部门班级表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[部门班级表] -----这句SQL语句是什么意思啊??


object_id是系统自带的,用于获取对象ID的函数。N的意思是强制转换成Nvarchar,单引号里的内容就是表名。OBJECTPROPERTY也是系统自动的函数,根据ID来判断是对象的类型,有可能是系统表、用户表、存储过程、函数等。IsUserTable表示是用户建立的表。IsProcedure表示存储过程

OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPersonData)。

OBJECTPROPERTY:返回当前数据库中对象的有关信息。1表“真”。同样可以写成OBJECTPROPERTY(id, sUserTable) = 1。

整条语句的意思是判断数据库里有没有存在PerPersonData这样一张表,是否用户创建的表




参考知识库

img

MySQL知识库

猜你在找
Oracle数据库
Oracle数据库从入门到精通
Oracle数据库开发之PL/SQL基础实战视频课程
Oracle数据库基础入门培训课程视频
从零开始学习Oracle数据库
typedef intinit_fnc_t void这句话是什么意思啊
If the job does not exist an error from msdbdbosp_delete_job is expected
Select From masterdbosysdatabases 查询本数据库信息
sql函数使用实例 select fd1fd1dboisNullOrEmptyfdClass无类别 from tableName
数据库操作中 pstmtsetString1id 是什么意思 那个1指什么
0 0
原创粉丝点击