適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
函 OBJECTPROPERTYEX 式會傳回目前資料庫中結構描述範圍物件的相關資訊。
如需這些物件的清單,請參閱 sys.objects (Transact-SQL)。
OBJECTPROPERTYEX 無法用於非綱目範圍的物件,例如資料定義語言 (DDL) 觸發程式及事件通知。
語法
OBJECTPROPERTYEX ( id , property )
引數
識別碼
表示式,代表目前資料庫中物件的 ID。 ID 為 int ,並假設是目前資料庫內容中的綱目範圍物件。
property
包含 ID 所指定物件要傳回的資訊的運算式。 傳回類型為 sql_variant。 下表顯示了每一屬性值的基底資料型別。
注意
除非另有說明,否則當 NULL屬性 不是有效的屬性名稱、 識別碼 不是有效的物件識別碼、 識別碼 是指定 屬性不支援的物件類型,或呼叫端沒有檢視物件中繼資料的許可權時,會傳回。
| 屬性名稱 | 物件類型 | 描述和傳回的值 |
|---|---|---|
BaseType |
任何結構描述範圍物件 | 識別物件的基底類型。 當指定的物件是 SYNONYM時,會傳回基礎物件的基底類型。非空值 = 物件類型 基底資料型別:char(2) |
CnstIsClustKey |
條件約束 |
PRIMARY KEY 條件約束與叢集索引。1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsColumn |
條件約束 |
CHECK、 DEFAULT或 FOREIGN KEY 限制。1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsDeleteCascade |
條件約束 |
FOREIGN KEY constraint 與選項 ON DELETE CASCADE 。1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsDisabled |
條件約束 | 停用的條件約束。 1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsNonclustKey |
條件約束 |
PRIMARY KEY 條件約束與非叢集索引。1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsNotRepl |
條件約束 | 條件約束是使用關鍵字來 NOT FOR REPLICATION 定義。1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsNotTrusted |
條件約束 | 啟用條件約束而不檢查現有的資料列。 因此,限制可能不適用於所有列。 1 = 正確 0 = 錯誤 基底資料類型:int |
CnstIsUpdateCascade |
條件約束 |
FOREIGN KEY constraint 與選項 ON UPDATE CASCADE 。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsAfterTrigger |
觸發程序 |
AFTER 鉷。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsAnsiNullsOn |
Transact-SQL 函數、Transact-SQL 程序、Transact-SQL 觸發程序、檢視 | 建立時的 ANSI_NULLS 設定。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsDeleteTrigger |
觸發程序 |
DELETE 鉷。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsFirstDeleteTrigger |
觸發程序 | 針對資料表執行 a DELETE 時引發的第一個觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsFirstInsertTrigger |
觸發程序 | 針對資料表執行時 INSERT 引發的第一個觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsFirstUpdateTrigger |
觸發程序 | 針對資料表執行時 UPDATE 引發的第一個觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsInsertTrigger |
觸發程序 |
INSERT 鉷。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsInsteadOfTrigger |
觸發程序 |
INSTEAD OF 鉷。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsLastDeleteTrigger |
觸發程序 | 針對資料表執行 a DELETE 時觸發的最後一個觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsLastInsertTrigger |
觸發程序 | 針對資料表執行時 INSERT 觸發的最後一個觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsLastUpdateTrigger |
觸發程序 | 針對資料表執行時 UPDATE 觸發的最後一個觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsQuotedIdentOn |
Transact-SQL 函數、Transact-SQL 程序、Transact-SQL 觸發程序、檢視 | 建立時的 QUOTED_IDENTIFIER 設定。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsStartup |
程序 | 啟動程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsTriggerDisabled |
觸發程序 | 停用的觸發程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsTriggerNotForRepl |
觸發程序 | 觸發器定義為 NOT FOR REPLICATION。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsUpdateTrigger |
觸發程序 |
UPDATE 鉷。1 = 正確 0 = 錯誤 基底資料類型:int |
ExecIsWithNativeCompilation |
Transact-SQL 程序 |
適用於:SQL Server 2014 (12.x) 和更新版本。 此為原生編譯的程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
HasAfterTrigger |
表格或視圖 | 資料表或檢視具有 AFTER 觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
HasDeleteTrigger |
表格或視圖 | 資料表或檢視具有 DELETE 觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
HasInsertTrigger |
表格或視圖 | 資料表或檢視具有 INSERT 觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
HasInsteadOfTrigger |
表格或視圖 | 資料表或檢視具有 INSTEAD OF 觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
HasUpdateTrigger |
表格或視圖 | 資料表或檢視具有 UPDATE 觸發程式。1 = 正確 0 = 錯誤 基底資料類型:int |
IsAnsiNullsOn |
Transact-SQL 函數、Transact-SQL 程序、資料表、Transact-SQL 觸發程序、檢視 |
ANSI NULLS指定表格的選項設定為 ON,表示與空值的所有比較都會評估為 UNKNOWN。 只要資料表存在,這項設定便適用於資料表定義中的所有運算式,其中包括計算資料行和條件約束。1 = 正確 0 = 錯誤 基底資料類型:int |
IsCheckCnst |
任何結構描述範圍物件 |
CHECK 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
IsConstraint |
任何結構描述範圍物件 | 條件約束。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsDefault |
任何結構描述範圍物件 |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 繫結預設值。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsDefaultCnst |
任何結構描述範圍物件 |
DEFAULT 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
IsDeterministic |
純量函數和資料表值函式、檢視表 | 函數或檢視表的決定性屬性。 1 = 具有決定性 0 = 不具決定性 基底資料類型:int |
IsEncrypted |
Transact-SQL 函數、Transact-SQL 程序、資料表、Transact-SQL 觸發程序、檢視 | 指出此模組陳述式的原始文字已轉換為混亂格式。 在 SQL Server 2005 (9.x) 中,任何目錄檢視都無法直接看見混淆的輸出。 對系統資料表或資料庫檔案沒有存取權的使用者,將無法擷取模糊化的文字。 不過,文字可供使用者使用,這些使用者可以透過 資料庫管理者的「診斷」連線 存取系統表格,或直接存取資料庫檔案。 另外,可將偵錯工具附加至伺服器處理序的使用者,可以在執行階段從記憶體擷取原始程序。 1 = 已加密 0 = 未加密 基底資料類型:int |
IsExecuted |
任何結構描述範圍物件 | 指定可以執行物件 (檢視、程序、函數或觸發程序)。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsExtendedProc |
任何結構描述範圍物件 | 擴充程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsForeignKey |
任何結構描述範圍物件 |
FOREIGN KEY 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
IsIndexed |
表格或視圖 | 含索引的資料表或檢視表。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsIndexable |
表格或視圖 | 可在其上建立索引的資料表或檢視。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsInlineFunction |
函式 | 內嵌函數。 1 = 內嵌函數 0 = 非內嵌函數 基底資料類型:int |
IsMSShipped |
任何結構描述範圍物件 | 安裝 SQL Server 時建立的物件。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsPrecise |
已計算的資料行、函數、使用者自訂類型、檢視表 | 指出物件是否包含浮點運算等不精確的計算。 1 = 精確 0 = 不精確 基底資料類型:int |
IsPrimaryKey |
任何結構描述範圍物件 |
PRIMARY KEY 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
IsProcedure |
任何結構描述範圍物件 | 程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsQuotedIdentOn |
CHECK 約束、 DEFAULT 定義、Transact-SQL 函數、Transact-SQL 程序、表格、Transact-SQL 觸發器、視圖 |
指定物件的引號 ID 設定為 ON,表示雙引號會分隔物件定義中涉及的所有運算式中的 ID。1 = 正確 0 = 錯誤 基底資料類型:int |
IsQueue |
任何結構描述範圍物件 | Service Broker 佇列 1 = 正確 0 = 錯誤 基底資料類型:int |
IsReplProc |
任何結構描述範圍物件 | 複寫程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsRule |
任何結構描述範圍物件 | 繫結規則。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsScalarFunction |
函式 | 純量值函式。 1 = 純量值函式 0 = 非純量值函式 基底資料類型:int |
IsSchemaBound |
函數、程序、檢視 | 使用 建立 SCHEMABINDING的綱目繫結函式或檢視。1 = 結構描述繫結 0 = 非結構描述繫結 基底資料類型:int |
IsSystemTable |
Table | 系統資料表。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsSystemVerified |
已計算的資料行、函數、使用者自訂類型、檢視表 | SQL Server 可以驗證物件的有效位數和決定性屬性。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsTable |
Table | 資料表。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsTableFunction |
函式 | 資料表值函式。 1 = 資料表值函式 0 = 非資料表值函式 基底資料類型:int |
IsTrigger |
任何結構描述範圍物件 | 觸發程序。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsUniqueCnst |
任何結構描述範圍物件 |
UNIQUE 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
IsUserTable |
Table | 使用者自訂資料表。 1 = 正確 0 = 錯誤 基底資料類型:int |
IsView |
檢視 | 檢視表。 1 = 正確 0 = 錯誤 基底資料類型:int |
OwnerId |
任何結構描述範圍物件 | 物件的擁有者。 注意: 結構描述擁有者不一定是物件擁有者。 例如,子物件 (非 Null 的 parent_object_id 物件) 一律會傳回與父物件相同的擁有者識別碼。非空值 = 物件擁有者的資料庫使用者 ID。 NULL = 不支援的物件類型,或物件 ID 無效。基底資料類型:int |
SchemaId |
任何結構描述範圍物件 | 與物件相關聯的結構描述識別碼。 非空值 = 物件的結構描述識別碼。 基底資料類型:int |
SystemDataAccess |
功能或視圖 | 物件會存取 SQL Server 本機執行個體中的系統資料、系統目錄或虛擬系統資料表。 0 = 無 1 = 讀取 基底資料類型:int |
TableDeleteTrigger |
Table | 表格有觸發 DELETE 器。>1 = 具有指定類型的第一個觸發程序識別碼。 基底資料類型:int |
TableDeleteTriggerCount |
Table | 表格具有指定數目 DELETE 的觸發程式。非空值 = 觸發程式數目 DELETE基底資料類型:int |
TableFullTextMergeStatus |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料表是否具有目前正在合併的全文檢索索引。 0 = 資料表沒有全文檢索索引,或是全文檢索索引並未合併。 1 = 全文檢索索引正在合併。 |
TableFullTextBackgroundUpdateIndexOn |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料表啟用了全文檢索的背景更新索引 (自動變更追蹤)。 1 = 真 0 = 錯誤 基底資料類型:int |
TableFulltextCatalogId |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料表的全文檢索索引資料所在的全文檢索目錄識別碼。 非零 = 全文檢索目錄識別碼,關聯於用來識別全文檢索索引資料表中的資料列之唯一索引。 0 = 資料表沒有全文檢索索引。 基底資料類型:int |
TableFullTextChangeTrackingOn |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料表啟用全文檢索變更追蹤。 1 = 真 0 = 錯誤 基底資料類型:int |
TableFulltextDocsProcessed |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 全文檢索索引啟動之後所處理的資料列數。 在建立全文檢索搜尋索引的資料表中,單一資料列的所有資料行都會被視為單一文件的一部分來建立索引。 0 = 沒有使用中的搜耙,或全文檢索索引已完成。 > 0 = A 或 B 其中之一:A) 在啟動完整、累加或手動變更追蹤母體之後,插入或更新作業所處理的文件數目;B) 啟用含背景更新索引母體的變更追蹤、變更全文檢索索引結構描述、重建全文檢索目錄,或重新啟動 SQL Server 執行個體等作業之後,插入或更新作業所處理的資料列數。 NULL = 表格沒有全文檢索索引。基底資料類型:int 注意:這個屬性不會監視或計算已刪除的資料列。 |
TableFulltextFailCount |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 全文檢索搜尋功能尚未建立索引的資料列數。 0 = 母體擴展已完成。 >0 = A 或 B 其中之一:A) 啟動完整、累加或手動更新變更追蹤母體之後,尚未建立索引的文件數目;B) 對於背景更新索引的變更追蹤,在開始母體或重新開始母體之後,尚未建立索引的資料列數。 這可能是結構描述變更、重建目錄、伺服器重新啟動等所造成的。 NULL = 表格沒有 Full-Text 索引。基底資料類型:int |
TableFulltextItemCount |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 非空值 = 成功編製全文檢索索引的資料列數目。 NULL = 表格沒有全文檢索索引。基底資料類型:int |
TableFulltextKeyColumn |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 屬於全文檢索索引和語意索引定義一部分之單一資料行唯一索引的相關資料行識別碼。 0 = 資料表沒有全文檢索索引。 基底資料類型:int |
TableFulltextPendingChanges |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 要處理的暫止變更追蹤項目數。 0 = 未啟用變更追蹤。 NULL = 表格沒有全文檢索索引。基底資料類型:int |
TableFulltextPopulateStatus |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 0 = 閒置。 1 = 完整母體擴展在進行中。 2 = 累加母體擴展在進行中。 3 = 追蹤變更的傳播在進行中。 4 = 背景更新索引在進行中,如自動變更追蹤。 5 = 全文檢索索引在調整執行速度或暫停。 6 = 發生錯誤。 請檢查搜耙記錄以取得詳細資料。 如需詳細資訊,請參閱擴展全文檢索索引中為全文檢索母體擴展 (搜耙) 中的錯誤疑難排解章節。 基底資料類型:int |
TableFullTextSemanticExtraction |
Table |
適用於:SQL Server 2012 (11.x) 和更新版本。 資料表啟用語意索引。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasActiveFulltextIndex |
Table |
適用於:SQL Server 2008 (10.0.x) 和更新版本。 資料表有使用中的全文檢索索引。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasCheckCnst |
Table | 表格有條件 CHECK 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasClustIndex |
Table | 資料表有叢集索引。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasDefaultCnst |
Table | 表格有條件 DEFAULT 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasDeleteTrigger |
Table | 表格有觸發 DELETE 器。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasForeignKey |
Table | 表格有條件 FOREIGN KEY 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasForeignRef |
Table | 表格由條件約束參考 FOREIGN KEY 。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasIdentity |
Table | 資料表有識別欄位。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasIndex |
Table | 資料表有任何類型的索引。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasInsertTrigger |
Table | 物件具有觸發 INSERT 器。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasNonclustIndex |
Table | 資料表有非叢集索引。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasPrimaryKey |
Table | 資料表有主索引鍵。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasRowGuidCol |
Table | 表格具有 ROWGUIDCOLuniqueidentifier 資料行。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasTextImage |
Table | 資料表有 text、ntext 或 image 資料行。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasTimestamp |
Table | 資料表有 timestamp 資料行。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasUniqueCnst |
Table | 表格有條件 UNIQUE 約束。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasUpdateTrigger |
Table | 物件具有觸發 UPDATE 程式。1 = 正確 0 = 錯誤 基底資料類型:int |
TableHasVarDecimalStorageFormat |
Table | 資料表可使用 vardecimal 儲存格式。 1 = 正確 0 = 錯誤 |
TableInsertTrigger |
Table | 表格有觸發 INSERT 器。>1 = 具有指定類型的第一個觸發程序識別碼。 基底資料類型:int |
TableInsertTriggerCount |
Table | 表格具有指定數目 INSERT 的觸發程式。>0 = 觸發器數 INSERT 。基底資料類型:int |
TableIsFake |
Table | 資料表不是真正的資料表。 資料庫引擎會依需求在內部具體化。 1 = 正確 0 = 錯誤 基底資料類型:int |
TableIsLockedOnBulkLoad |
Table | 資料表已鎖定,因為 bcp 或 BULK INSERT 工作。1 = 正確 0 = 錯誤 基底資料類型:int |
TableIsMemoryOptimized |
Table |
適用於:SQL Server 2014 (12.x) 和更新版本。 資料表是記憶體最佳化的 1 = 正確 0 = 錯誤 基底資料類型:int 如需詳細資訊,請參閱 In-Memory OLTP 概觀和使用案例。 |
TableIsPinned |
Table | 資料表固定保留在資料快取中。 0 = 錯誤 SQL Server 2005 (9.x) 和更新版本不支援此功能。 |
TableTextInRowLimit |
Table | 資料表有 text in row 選項集。 > 0 = text in row 所允許的最大位元組數目。 0 = 未設定 text in row 選項。 基底資料類型:int |
TableUpdateTrigger |
Table | 表格有觸發 UPDATE 器。> 1 = 具有指定類型的第一個觸發程序識別碼。 基底資料類型:int |
TableUpdateTriggerCount |
Table | 表格具有指定數目 UPDATE 的觸發程式。> 0 = 觸發器數 UPDATE 。基底資料類型:int |
UserDataAccess |
功能或視圖 | 表示物件可存取本機 SQL Server 執行個體中的使用者資料及使用者資料表。 1 = 讀取 0 = 無 基底資料類型:int |
TableHasColumnSet |
Table | 資料表有資料行集。 0 = 錯誤 1 = 正確 如需詳細資訊,請參閱 使用資料行集。 |
Cardinality |
資料表 (系統或使用者定義)、檢視表或索引 |
適用於:SQL Server 2012 (11.x) 和更新版本。 指定之物件中的資料列數目。 |
TableTemporalType |
Table |
適用於:SQL Server 2016 (13.x) 和更新版本。 指定資料表的類型。 0 = 非時態表 1 = 系統版本設定資料表的記錄資料表 2 = 系統版本設定的時態表 |
傳回類型
sql_variant
例外狀況
發生錯誤或呼叫端沒有檢視物件的許可權時傳回 NULL 。
使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。 這表示如果使用者對物件沒有任何許可權,則中繼資料發出內建函式 (例如 OBJECTPROPERTYEX) 可能會傳回 NULL 。 如需詳細資訊,請參閱中 繼資料可見度設定。
備註
資料庫引擎假設 object_id 在目前的資料庫內容中。 參照另一個資料庫中 object_id 的查詢會傳回 NULL 或不正確的結果。 例如,在下列查詢中,目前的資料庫內容是 master 資料庫。 資料庫引擎會嘗試傳回該資料庫中指定 object_id 的屬性值,而不是查詢中指定的資料庫。 查詢傳回不正確的結果,因為檢視 vEmployee 不在資料庫中 master 。
USE master;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO
OBJECTPROPERTYEX(view_id, 'IsIndexable') 可能會耗用大量的電腦資源,因為 IsIndexable 屬性的評估需要剖析檢視定義、正規化和部分優化。 雖然 IsIndexable 屬性會識別能夠建立索引的資料表或檢視表,但如果不符合特定索引鍵需求,實際建立索引的作業仍可能失敗。 如需詳細資訊,請參閱 CREATE FULLTEXT CATALOG (TRANSACT-SQL)。
OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') 當新增表格的至少一個直欄進行索引時,會傳回值 1 (true)。 只要加入第一個用來建立索引的資料行,全文檢索索引作業就會成為使用中,以便擴展。
結果集會套用中繼資料可見性的限制。 如需詳細資訊,請參閱中 繼資料可見度設定。
範例
A. 尋找物件的基底類型
下列範例會在資料庫中SYNONYM建立資料表的 ,MyEmployeeTableEmployeeAdventureWorks2025然後傳回 的SYNONYM基底類型。
USE AdventureWorks2022;
GO
CREATE SYNONYM MyEmployeeTable FOR HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX ( object_id(N'MyEmployeeTable'), N'BaseType')AS [Base Type];
GO
結果集顯示基礎物件 (Employee 資料表) 的基底類型是使用者資料表。
Base Type
--------
U
B. 傳回屬性值
下列範例會傳回指定資料表上的觸發程式數目 UPDATE 。
USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');
GO
C. 尋找具有 FOREIGN KEY 限制的資料表
下列範例會使用屬性 TableHasForeignKey 來傳回所有具有 FOREIGN KEY 條件約束的資料表。
USE AdventureWorks2022;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO
範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
D:找出物件的基底類型
下列範例會傳回 dbo.DimReseller 物件的基底類型。
-- Uses AdventureWorks
SELECT OBJECTPROPERTYEX ( object_id(N'dbo.DimReseller'), N'BaseType')AS BaseType;
結果集顯示基礎物件 (dbo.DimReseller 資料表) 的基底類型是使用者資料表。
BaseType
--------
U