標籤:
OBJECT_ID
返回架構範圍內對象的資料庫物件標識號。
重要提示
使用 OBJECT_ID 不能查詢非結構描述範圍物件(如 DDL 觸發程序)。對於在 sys.objects 目錄檢視中找不到的對象,需要通過查詢適當的目錄檢視來擷取該對象的標識號。例如,若要返回 DDL 觸發程序的對象標識號,請使用 SELECT OBJECT_ID FROM sys.triggers WHERE name = ‘DatabaseTriggerLog‘文法:
OBJECT_ID ( ‘[ database_name . [ schema_name ] . | schema_name . ] object_name‘ [ ,‘object_type‘ ] )
參數:
‘ object_name ‘要使用的對象。object_name 的資料類型為 varchar 或 nvarchar。如果 object_name 的資料類型為 varchar,則它將隱式轉換為 nvarchar。可以選擇是否指定資料庫和架構名稱。
‘ object_type ‘架構範圍的物件類型。object_type 的資料類型為 varchar 或 nvarchar。如果 object_type 的資料類型為 varchar,則它將隱式轉換為 nvarchar。有關物件類型的列表,請參閱 sys.objects (Transact-SQL) 中的 type 列。
傳回型別:int
樣本:
A. 返回指定對象的物件識別碼
USE master;GOSELECT OBJECT_ID(N‘AdventureWorks.Production.WorkOrder‘) AS ‘Object ID‘;GO
B. 驗證對象是否存在
USE AdventureWorks;GOIF OBJECT_ID (N‘dbo.AWBuildVersion‘, N‘U‘) IS NOT NULLDROP TABLE dbo.AWBuildVersion;GO
SQL Server OBJECT_ID() 函數