OBJECT_ID 与objectproperty
OBJECT_ID : 返回數據庫對象標識號
例如:
use master
Select Object_Id(N'pubs..authors')?? //查看pubs數據庫里的authors表的object_id對象標識號。
OBJECTPROPERTY : 返回當前數據庫中對象的有關信息
語法 : OBJECTPROPERTY ( id , property )
例如:
OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1
或
select * from dbo.sysobjects?? where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 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)
判斷myTalbe對象是否是一個表。
If exists (select * from dbo.sysObjects
???? where id = Object_Id(N'myTable') and ObjectProperty(id, N'IsUserTable') = 1)
判斷myProc對象是否是一個存儲過程。
If exists (select * from dbo.sysObjects
???? where id = Object_Id(N'myProc') and ObjectProperty(id, N'IsProcedure') = 1)
判斷myFun對象是否是一個自定義、標量值函數。
If exists (select * from dbo.sysObjects
???? where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsScalarFunction') = 1)
判斷myFun對象是否是一個表值函數。
If exists (select * from dbo.sysObjects
???? where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsTableFunction') = 1)
總結
以上是生活随笔為你收集整理的OBJECT_ID 与objectproperty的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魔法少女小Scarlet(洛谷P4924
- 下一篇: 基于短文本的食源性疾病事件探测技术