OBJECTPROPERTYEX (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL データベース はいAzure SQL Managed Instance はいAzure Synapse Analytics はいParallel Data Warehouse

現在のデータベース内のスキーマ スコープ オブジェクトに関する情報を返します。 これらのオブジェクトの一覧については、「sys.objects (Transact-SQL)」をご覧ください。 OBJECTPROPERTYEX は、データ定義言語 (DDL) トリガーやイベント通知などの非スキーマ スコープ オブジェクトには使用できません。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

OBJECTPROPERTYEX ( id , property )  

注意

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

id
現在のデータベース内のオブジェクトの ID を表す式を指定します。 id のデータ型は int で、現在のデータベース コンテキストでのスキーマ スコープ オブジェクトであることが前提となっています。

property
ID で指定したオブジェクトについて、返される情報を含む式を指定します。戻り値の型は sql_variant です。 次の表に、各プロパティ値に対する基本のデータ型を示します。

注意

property が有効なプロパティ名でない場合、id が有効なオブジェクト ID でない場合、id が指定した property でサポートされていないオブジェクトの種類であった場合、または呼び出し側にオブジェクトのメタデータを表示する権限がない場合は、特に指定のない限り、NULL が返されます。

プロパティ名 オブジェクトの種類 説明と戻り値
BaseType 任意のスキーマ スコープ オブジェクト オブジェクトの基本の種類。 指定したオブジェクトが SYNONYM の場合、基になるオブジェクトの基本の種類が返されます。

NULL 以外 = オブジェクトの種類

基本データ型: char(2)
CnstIsClustKey 制約 クラスター化インデックスを指定した PRIMARY KEY 制約。

1 = True

0 = False

基本データ型: int
CnstIsColumn 制約 単一列に対する CHECK、DEFAULT、または FOREIGN KEY 制約。

1 = True

0 = False

基本データ型: int
CnstIsDeleteCascade 制約 ON DELETE CASCADE オプションを指定した FOREIGN KEY 制約。

1 = True

0 = False

基本データ型: int
CnstIsDisabled 制約 制約の無効化。

1 = True

0 = False

基本データ型: int
CnstIsNonclustKey 制約 非クラスター化インデックスを指定した PRIMARY KEY 制約。

1 = True

0 = False

基本データ型: int
CnstIsNotRepl 制約 制約を NOT FOR REPLICATION キーワードを使って定義。

1 = True

0 = False

基本データ型: int
CnstIsNotTrusted 制約 既存の行を確認せずに制約が有効化されていました。 すべての行に制約が保持されない可能性があります。

1 = True

0 = False

基本データ型: int
CnstIsUpdateCascade 制約 ON UPDATE CASCADE オプションを指定した FOREIGN KEY 制約。

1 = True

0 = False

基本データ型: int
ExecIsAfterTrigger トリガー AFTER トリガー。

1 = True

0 = False

基本データ型: int
ExecIsAnsiNullsOn Transact-SQL 関数、Transact-SQL プロシージャ、Transact-SQL トリガー、ビュー 作成時における ANSI_NULLS の設定。

1 = True

0 = False

基本データ型: int
ExecIsDeleteTrigger トリガー DELETE トリガー。

1 = True

0 = False

基本データ型: int
ExecIsFirstDeleteTrigger トリガー テーブルに対して DELETE を実行するときに最初に起動されるトリガー。

1 = True

0 = False

基本データ型: int
ExecIsFirstInsertTrigger トリガー テーブルに対して INSERT を実行するときに最初に起動されるトリガー。

1 = True

0 = False

基本データ型: int
ExecIsFirstUpdateTrigger トリガー テーブルに対して UPDATE を実行するときに最初に起動されるトリガー。

1 = True

0 = False

基本データ型: int
ExecIsInsertTrigger トリガー INSERT トリガー。

1 = True

0 = False

基本データ型: int
ExecIsInsteadOfTrigger トリガー INSTEAD OF トリガー。

1 = True

0 = False

基本データ型: int
ExecIsLastDeleteTrigger トリガー テーブルに対して DELETE を実行するときに最後に起動されるトリガー。

1 = True

0 = False

基本データ型: int
ExecIsLastInsertTrigger トリガー テーブルに対して INSERT を実行するときに最後に起動されるトリガー。

1 = True

0 = False

基本データ型: int
ExecIsLastUpdateTrigger トリガー テーブルに対して UPDATE を実行するときに最後に起動されるトリガー。

1 = True

0 = False

基本データ型: int
ExecIsQuotedIdentOn Transact-SQL 関数、Transact-SQL プロシージャ、Transact-SQL トリガー、ビュー 作成時における QUOTED_IDENTIFIER の設定。

1 = True

0 = False

基本データ型: int
ExecIsStartup 手順 スタートアップ プロシージャ。

1 = True

0 = False

基本データ型: int
ExecIsTriggerDisabled トリガー トリガーの無効化。

1 = True

0 = False

基本データ型: int
ExecIsTriggerNotForRepl トリガー NOT FOR REPLICATION として定義されているトリガー。

1 = True

0 = False

基本データ型: int
ExecIsUpdateTrigger トリガー UPDATE トリガー。

1 = True

0 = False

基本データ型: int
ExecIsWithNativeCompilation Transact-SQL プロシージャ 適用対象: SQL Server 2014 (12.x) 以降。

プロシージャはネイティブでコンパイルされます。

1 = True

0 = False

基本データ型: int
HasAfterTrigger テーブル、ビュー テーブルまたはビューに AFTER トリガーがあります。

1 = True

0 = False

基本データ型: int
HasDeleteTrigger テーブル、ビュー テーブルまたはビューに DELETE トリガーがあります。

1 = True

0 = False

基本データ型: int
HasInsertTrigger テーブル、ビュー テーブルまたはビューに INSERT トリガーがあります。

1 = True

0 = False

基本データ型: int
HasInsteadOfTrigger テーブル、ビュー テーブルまたはビューに INSTEAD OF トリガーがあります。

1 = True

0 = False

基本データ型: int
HasUpdateTrigger テーブル、ビュー テーブルまたはビューに UPDATE トリガーがあります。

1 = True

0 = False

基本データ型: int
IsAnsiNullsOn Transact-SQL 関数、Transact-SQL プロシージャ、テーブル、Transact-SQL トリガー、ビュー テーブルに対する ANSI NULLS オプション設定がオンになるように指定します。これにより、NULL 値に対するすべての比較が UNKNOWN として評価されます。 この設定は、テーブルが存在する限り、計算列や制約をはじめとするテーブル定義内のすべての式に適用されます。

1 = True

0 = False

基本データ型: int
IsCheckCnst 任意のスキーマ スコープ オブジェクト CHECK 制約。

1 = True

0 = False

基本データ型: int
IsConstraint 任意のスキーマ スコープ オブジェクト 制約。

1 = True

0 = False

基本データ型: int
IsDefault 任意のスキーマ スコープ オブジェクト 適用対象: SQL Server 2008 以降。

既定のバインド。

1 = True

0 = False

基本データ型: int
IsDefaultCnst 任意のスキーマ スコープ オブジェクト DEFAULT 制約。

1 = True

0 = False

基本データ型: int
IsDeterministic スカラーおよびテーブル値関数、ビュー 関数またはビューの決定性を示すプロパティ。

1 = 決定的

0 = 非決定的

基本データ型: int
IsEncrypted Transact-SQL 関数、Transact-SQL プロシージャ、テーブル、Transact-SQL トリガー、ビュー モジュール ステートメントの元のテキストが、暗号化した形式に変換されたことを示します。 暗号化した形式の出力は、SQL Server 2005 (9.x) 内のどのカタログ ビューでも直接見ることはできません。 システム テーブルまたはデータベース ファイルへのアクセス権を持たないユーザーは、暗号化した形式のテキストを取得できません。 ただし、DAC ポート経由でシステム テーブルにアクセスする権限、または直接データベース ファイルにアクセスする権限を持っているユーザーは、このテキストを使用できます。 また、サーバー プロセスにデバッガーをアタッチできるユーザーは、実行時、元のプロシージャをメモリから取得できます。

1 = 暗号化

0 = 暗号化なし

基本データ型: int
IsExecuted 任意のスキーマ スコープ オブジェクト オブジェクトは実行可能 (ビュー、プロシージャ、関数、またはトリガー)。

1 = True

0 = False

基本データ型: int
IsExtendedProc 任意のスキーマ スコープ オブジェクト 拡張プロシージャ。

1 = True

0 = False

基本データ型: int
IsForeignKey 任意のスキーマ スコープ オブジェクト FOREIGN KEY 制約。

1 = True

0 = False

基本データ型: int
IsIndexed テーブル、ビュー インデックス付きのテーブルまたはビュー。

1 = True

0 = False

基本データ型: int
IsIndexable テーブル、ビュー インデックスを作成できるテーブルまたはビュー。

1 = True

0 = False

基本データ型: int
IsInlineFunction 機能 インライン関数。

1 = インライン関数

0 = インライン関数ではない

基本データ型: int
IsMSShipped 任意のスキーマ スコープ オブジェクト SQL Server のインストール中に作成されたオブジェクト。

1 = True

0 = False

基本データ型: int
IsPrecise 計算列、関数、ユーザー定義型、ビュー 浮動小数点演算など、不正確な計算を含むオブジェクトかどうかを示します。

1 = 正確

0 = 不正確

基本データ型: int
IsPrimaryKey 任意のスキーマ スコープ オブジェクト PRIMARY KEY 制約。

1 = True

0 = False

基本データ型: int
IsProcedure 任意のスキーマ スコープ オブジェクト プロシージャ。

1 = True

0 = False

基本データ型: int
IsQuotedIdentOn CHECK 制約、DEFAULT 定義、Transact-SQL 関数、Transact-SQL プロシージャ、テーブル、Transact-SQL トリガー、ビュー オブジェクトの引用符で囲まれた識別子の設定をオンに指定します。オブジェクト定義に含まれるすべての式の識別子は、二重引用符によって区切られます。

1 = True

0 = False

基本データ型: int
IsQueue 任意のスキーマ スコープ オブジェクト Service Broker キュー

1 = True

0 = False

基本データ型: int
IsReplProc 任意のスキーマ スコープ オブジェクト レプリケーション プロシージャ。

1 = True

0 = False

基本データ型: int
IsRule 任意のスキーマ スコープ オブジェクト ルールのバインド。

1 = True

0 = False

基本データ型: int
IsScalarFunction 機能 スカラー値関数。

1 = スカラー値関数

0 = スカラー値関数ではない

基本データ型: int
IsSchemaBound 関数、プロシージャ、ビュー SCHEMABINDING を使用して作成されたスキーマ バインド関数またはビュー。

1 = スキーマ バインド

0 = 非スキーマ バインド

基本データ型: int
IsSystemTable テーブル システム テーブル。

1 = True

0 = False

基本データ型: int
IsSystemVerified 計算列、関数、ユーザー定義型、ビュー オブジェクトの精度と決定性のプロパティを SQL Server で確認できます。

1 = True

0 = False

基本データ型: int
IsTable テーブル テーブル。

1 = True

0 = False

基本データ型: int
IsTableFunction 機能 テーブル値関数。

1 = テーブル値関数

0 = テーブル値関数ではない

基本データ型: int
IsTrigger 任意のスキーマ スコープ オブジェクト トリガー。

1 = True

0 = False

基本データ型: int
IsUniqueCnst 任意のスキーマ スコープ オブジェクト UNIQUE 制約。

1 = True

0 = False

基本データ型: int
IsUserTable テーブル ユーザー定義テーブル。

1 = True

0 = False

基本データ型: int
IsView View ビュー。

1 = True

0 = False

基本データ型: int
OwnerId 任意のスキーマ スコープ オブジェクト オブジェクトの所有者。

注: スキーマ所有者はオブジェクト所有者である必要はありません。 たとえば、子オブジェクト (parent_object_id が NULL でないオブジェクト) では、常に親オブジェクトと同じ所有者 ID が返されます。

NULL 以外 = オブジェクト所有者のデータベース ユーザー ID

NULL = サポートされていないオブジェクトの種類、またはオブジェクト ID が有効でない

基本データ型: int
SchemaId 任意のスキーマ スコープ オブジェクト オブジェクトに関連付けられているスキーマの ID。

NULL 以外 = オブジェクトのスキーマ ID。

基本データ型: int
SystemDataAccess 関数、ビュー SQL Server のローカル インスタンス内にある、システム データ、システム カタログ、または仮想システム テーブルにオブジェクトがアクセスします。

0 = なし

1 = 読み取り

基本データ型: int
TableDeleteTrigger テーブル テーブルに DELETE トリガーがあります。

>1 = 指定された種類の最初のトリガーの ID。

基本データ型: int
TableDeleteTriggerCount テーブル テーブルに、指定された数の DELETE トリガーがあります。

NULL 以外 = DELETE トリガーの数

基本データ型: int
TableFullTextMergeStatus テーブル 適用対象: SQL Server 2008 以降。

現在マージ中のフルテキスト インデックスがテーブルにあるかどうかを示します。

0 = テーブルにフルテキスト インデックスがないか、フルテキスト インデックスがマージ中ではない

1 = フルテキスト インデックスがマージ中。
TableFullTextBackgroundUpdateIndexOn テーブル 適用対象: SQL Server 2008 以降。

テーブルでは、フルテキスト インデックスのバックグラウンド更新 (自動変更の追跡) が有効になっています。

1 = TRUE

0 = FALSE

基本データ型: int
TableFulltextCatalogId テーブル 適用対象: SQL Server 2008 以降。

テーブルのフルテキスト インデックス データが存在する、フルテキスト カタログの ID。

0 以外 = フルテキスト インデックス テーブル内の行を識別する一意なインデックスに関連付けられた、フルテキスト カタログ ID。

0 = テーブルにフルテキスト インデックスはない。

基本データ型: int
TableFullTextChangeTrackingOn テーブル 適用対象: SQL Server 2008 以降。

テーブルでは、フルテキストの変更の追跡が有効になっています。

1 = TRUE

0 = FALSE

基本データ型: int
TableFulltextDocsProcessed テーブル 適用対象: SQL Server 2008 以降。

フルテキスト インデックス作成の開始以降に処理された行の数。 フルテキスト検索用にインデックスが作成されるテーブルでは、1 行のすべての列が、インデックスが作成される 1 つのドキュメントの一部と見なされます。

0 = アクティブ クロールまたはフルテキスト インデックス作成は完了していない。

> 0 = 次のいずれか (A または B): A) 完全、増分、または手動による変更追跡の作成開始以降、挿入操作や更新操作で処理されたドキュメントの数です。B) バックグラウンド更新インデックス作成の有効化、フルテキスト インデックス スキーマの変更、フルテキスト カタログの再構築、または SQL Server のインスタンスの再起動などの変更の追跡以降、挿入操作や更新操作で処理された行数。

NULL = テーブルにフルテキスト インデックスはない。

基本データ型: int

このプロパティは、削除された行を監視またはカウントしません。
TableFulltextFailCount テーブル 適用対象: SQL Server 2008 以降。

フルテキスト検索でインデックスが作成されなかった行の数。

0 = 作成完了

> 0 = 次のいずれか (A または B): A) 完全、増分、または手動更新による変更追跡の作成開始以降に、インデックスが作成されなかったドキュメントの数。B) インデックスのバックグラウンド更新による変更追跡の場合、作成の開始または再開以降にインデックスが作成されなかった行数。 これは、スキーマ変更、カタログの再構築、サーバーの再起動などにより発生する場合があります。

NULL = テーブルにフルテキスト インデックスはない

基本データ型: int
TableFulltextItemCount テーブル 適用対象: SQL Server 2008 以降。

NULL 以外 = フルテキスト インデックスが正常に作成された行の数。

NULL = テーブルにフルテキスト インデックスはない。

基本データ型: int
TableFulltextKeyColumn テーブル 適用対象: SQL Server 2008 以降。

フルテキスト インデックスとセマンティック インデックスの定義の一部である、一意な単一列インデックスに関連付けられた列の ID。

0 = テーブルにフルテキスト インデックスはない。

基本データ型: int
TableFulltextPendingChanges テーブル 適用対象: SQL Server 2008 以降。

変更の追跡が処理されていないエントリ数。

0 = 変更の追跡は有効でない

NULL = テーブルにフルテキスト インデックスはない。

基本データ型: int
TableFulltextPopulateStatus テーブル 適用対象: SQL Server 2008 以降。

0 = アイドル状態

1 = 全体を作成中

2 = 増分作成中

3 = 追跡した変更を伝達中

4 = 自動変更の追跡など、インデックスのバックグラウンド更新が進行中

5 = フルテキスト インデックス作成が絞り込みまたは停止された

6 = エラーが発生しました。 詳細については、クロール ログを確認します。 詳しくは、「フルテキスト インデックスの作成」の「フルテキスト作成 (クロール) で発生したエラーのトラブルシューティング」セクションをご覧ください。

基本データ型: int
TableFullTextSemanticExtraction テーブル 適用対象: SQL Server 2012 (11.x) 以降。

テーブルでセマンティック インデックス作成が有効になっています。

1 = True

0 = False

基本データ型: int
TableHasActiveFulltextIndex テーブル 適用対象: SQL Server 2008 以降。

テーブルにアクティブなフルテキスト インデックスがあります。

1 = True

0 = False

基本データ型: int
TableHasCheckCnst テーブル テーブルに CHECK 制約があります。

1 = True

0 = False

基本データ型: int
TableHasClustIndex テーブル テーブルにクラスター化インデックスがあります。

1 = True

0 = False

基本データ型: int
TableHasDefaultCnst テーブル テーブルに DEFAULT 制約があります。

1 = True

0 = False

基本データ型: int
TableHasDeleteTrigger テーブル テーブルに DELETE トリガーがあります。

1 = True

0 = False

基本データ型: int
TableHasForeignKey テーブル テーブルに FOREIGN KEY 制約があります。

1 = True

0 = False

基本データ型: int
TableHasForeignRef テーブル テーブルは FOREIGN KEY 制約により参照されています。

1 = True

0 = False

基本データ型: int
TableHasIdentity テーブル テーブルに ID 列があります。

1 = True

0 = False

基本データ型: int
TableHasIndex テーブル テーブルに任意の種類のインデックスがあります。

1 = True

0 = False

基本データ型: int
TableHasInsertTrigger テーブル オブジェクトに INSERT トリガーがあります。

1 = True

0 = False

基本データ型: int
TableHasNonclustIndex テーブル テーブルに非クラスター化インデックスがあります。

1 = True

0 = False

基本データ型: int
TableHasPrimaryKey テーブル テーブルに主キーがあります。

1 = True

0 = False

基本データ型: int
TableHasRowGuidCol テーブル テーブルには、uniqueidentifier 列用の ROWGUIDCOL があります。

1 = True

0 = False

基本データ型: int
TableHasTextImage テーブル テーブルには、textntext、または image 列があります。

1 = True

0 = False

基本データ型: int
TableHasTimestamp テーブル テーブルには、timestamp 列があります。

1 = True

0 = False

基本データ型: int
TableHasUniqueCnst テーブル テーブルに UNIQUE 制約があります。

1 = True

0 = False

基本データ型: int
TableHasUpdateTrigger テーブル オブジェクトに UPDATE トリガーがあります。

1 = True

0 = False

基本データ型: int
TableHasVarDecimalStorageFormat テーブル テーブルで vardecimal ストレージ形式が有効になっています。

1 = True

0 = False
TableInsertTrigger テーブル テーブルに INSERT トリガーがあります。

>1 = 指定された種類の最初のトリガーの ID。

基本データ型: int
TableInsertTriggerCount テーブル テーブルに、指定された数の INSERT トリガーがあります。

>0 = INSERT トリガーの数。

基本データ型: int
TableIsFake テーブル テーブルは実在せず、 データベース エンジンによって、要求時に実際の領域が内部で確保されます。

1 = True

0 = False

基本データ型: int
TableIsLockedOnBulkLoad テーブル bcp または BULK INSERT ジョブによってテーブルがロックされています。

1 = True

0 = False

基本データ型: int
TableIsMemoryOptimized テーブル 適用対象: SQL Server 2014 (12.x) 以降。

テーブルはメモリ最適化されています

1 = True

0 = False

基本データ型: int

詳細については、「インメモリ OLTP (インメモリ最適化)」を参照してください。
TableIsPinned テーブル テーブルは固定され、データ キャッシュに確保されています。

0 = False

この機能は SQL Server 2005 (9.x) 以降のバージョンではサポートされていません。
TableTextInRowLimit テーブル テーブルに text in row オプション セットがあります。

> 0 = text in row に許可されている最大バイト数。

0 = text in row オプションは設定されていません。

基本データ型: int
TableUpdateTrigger テーブル テーブルに UPDATE トリガーがあります。

> 1 = 指定された種類の最初のトリガーの ID。

基本データ型: int
TableUpdateTriggerCount テーブル テーブルに、指定された数の UPDATE トリガーがあります。

> 0 = UPDATE トリガーの数。

基本データ型: int
UserDataAccess 関数、ビュー SQL Server のローカル インスタンス内にある、ユーザー データやユーザー テーブルにオブジェクトがアクセスします。

1 = 読み取り

0 = なし

基本データ型: int
TableHasColumnSet テーブル テーブルに列セットがあります。

0 = False

1 = True

詳細については、「 列セットの使用」を参照してください。
カーディナリティ テーブル (システムまたはユーザー定義)、ビュー、またはインデックス 適用対象: SQL Server 2012 (11.x) 以降。

指定されたオブジェクト内の行数。
TableTemporalType テーブル 適用対象: SQL Server 2016 (13.x) 以降。

テーブルの種類を指定します。

0 = 非テンポラル テーブル

1 = システムのバージョン情報のテーブルの履歴テーブル

2 = システムのバージョン情報のテンポラル テーブル

戻り値の型

sql_variant

例外

エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。

ユーザーが所有しているか、または権限を与えられている、セキュリティ保護可能なリソースのメタデータのみを表示できます。 つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (OBJECTPROPERTYEX など) が NULL を返す可能性があります。 詳細については、「 Metadata Visibility Configuration」を参照してください。

解説

データベース エンジン を前提としています object_id が現在のデータベース コンテキストでします。 別のデータベースの object_id を参照するクエリは、NULL または正しくない値を返します。 たとえば、次のクエリでは、現在のデータベース コンテキストは master データベースです。 データベース エンジンは、クエリ内で指定されたデータベースではなく、このデータベースの指定された object_id のプロパティ値を返します。 ビュー vEmployee は master データベース内にないため、このクエリでは正しくない結果が返されます。

USE master;  
GO  
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2012.HumanResources.vEmployee'), 'IsView');  
GO  

OBJECTPROPERTYEX(view_id, 'IsIndexable') は、多くのコンピューター リソースを使用する可能性があります。これは、IsIndexable プロパティを評価するために、ビュー定義、正規化、および部分最適化の解析が必要なためです。 IsIndexable プロパティではインデックスを作成できるテーブルまたはビューを指定しますが、特定のインデックス キーの要件が満たされない場合、インデックスの実際の作成は失敗します。 詳細については、「CREATE INDEX (Transact-SQL)」を参照してください。

OBJECTPROPERTYEX(table_id, 'TableHasActiveFulltextIndex') は、テーブルの少なくとも 1 つの列にインデックスが作成されている場合は、1 (TRUE) を返します。 インデックス作成で先頭の列が追加されるとすぐ、フルテキスト インデックス作成が自動的にアクティブになります。

メタデータの表示に関する制限は、結果セットに適用されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。

A. オブジェクトの基本の種類を検索する

次の例では、AdventureWorks2012 データベース内の MyEmployeeTable テーブルに対して SYNONYM Employee を作成した後、SYNONYM の基本の種類を返します。

USE AdventureWorks2012;  
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 AdventureWorks2012;  
GO  
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');  
GO  

C. FOREIGN KEY 制約を含むテーブルを探す

次の例では、TableHasForeignKey プロパティを使用し、FOREIGN KEY 制約を含むすべてのテーブルを返します。

USE AdventureWorks2012;  
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   

関連項目

CREATE SYNONYM (Transact-SQL)
メタデータ関数 (Transact-SQL)
OBJECT_DEFINITION (Transact-SQL)
OBJECT_ID (Transact-SQL)
OBJECT_NAME (Transact-SQL)
sys.objects (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
TYPEPROPERTY (Transact-SQL)