OBJECTPROPERTYEX (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス
現在のデータベース内のスキーマ スコープ オブジェクトに関する情報を返します。 これらのオブジェクトの一覧については、「sys.objects (Transact-SQL)」をご覧ください。 OBJECTPROPERTYEX は、データ定義言語 (DDL) トリガーやイベント通知などの非スキーマ スコープ オブジェクトには使用できません。
構文
OBJECTPROPERTYEX ( id , property )
引数
id
現在のデータベース内のオブジェクトの ID を表す式を指定します。 id のデータ型は int で、現在のデータベース コンテキストでのスキーマ スコープ オブジェクトであることが前提となっています。
property
ID で指定したオブジェクトについて、返される情報を含む式を指定します。戻り値の型は sql_variantです。 次の表に、各プロパティ値に対する基本のデータ型を示します。
Note
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 (10.0.x) 以降。 既定のバインド。 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 (10.0.x) 以降。 現在マージ中のフルテキスト インデックスがテーブルにあるかどうかを示します。 0 = テーブルにフルテキスト インデックスがないか、フルテキスト インデックスがマージ中ではない 1 = フルテキスト インデックスがマージ中。 |
TableFullTextBackgroundUpdateIndexOn | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 テーブルでは、フルテキスト インデックスのバックグラウンド更新 (自動変更の追跡) が有効になっています。 1 = TRUE 0 = FALSE 基本データ型: int |
TableFulltextCatalogId | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 テーブルのフルテキスト インデックス データが存在する、フルテキスト カタログの ID。 0 以外 = フルテキスト インデックス テーブル内の行を識別する一意なインデックスに関連付けられた、フルテキスト カタログ ID。 0 = テーブルにフルテキスト インデックスはない。 基本データ型: int |
TableFullTextChangeTrackingOn | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 テーブルでは、フルテキストの変更の追跡が有効になっています。 1 = TRUE 0 = FALSE 基本データ型: int |
TableFulltextDocsProcessed | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 フルテキスト インデックス作成の開始以降に処理された行の数。 フルテキスト検索用にインデックスが作成されるテーブルでは、1 行のすべての列が、インデックスが作成される 1 つのドキュメントの一部と見なされます。 0 = アクティブ クロールまたはフルテキスト インデックス作成は完了していない。 > 0 = 次のいずれか (A または B): A) 完全、増分、または手動による変更追跡の作成開始以降、挿入または更新操作で処理されたドキュメントの数です。B) バックグラウンド更新インデックス作成の有効化、フルテキスト インデックス スキーマの変更、フルテキスト カタログのリビルド、または SQL Server のインスタンスの再起動などの変更の追跡以降、挿入または更新操作で処理された行数。 NULL = テーブルにフルテキスト インデックスはない。 基本データ型: int 注 このプロパティは、削除された行を監視またはカウントしません。 |
TableFulltextFailCount | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 フルテキスト検索でインデックスが作成されなかった行の数。 0 = 作成完了 >0 = 次のいずれか (A または B): A) 完全、増分、または手動更新による変更追跡の作成開始以降に、インデックスが作成されなかったドキュメントの数。B) インデックスのバックグラウンド更新による変更追跡の場合、作成の開始または再開以降にインデックスが作成されなかった行数。 これは、スキーマ変更、カタログの再構築、サーバーの再起動などにより発生する場合があります。 NULL = テーブルにフルテキスト インデックスはない 基本データ型: int |
TableFulltextItemCount | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 NULL 以外 = フルテキスト インデックスが正常に作成された行の数。 NULL = テーブルにフルテキスト インデックスはない。 基本データ型: int |
TableFulltextKeyColumn | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 フルテキスト インデックスとセマンティック インデックスの定義の一部である、一意な単一列インデックスに関連付けられた列の ID。 0 = テーブルにフルテキスト インデックスはない。 基本データ型: int |
TableFulltextPendingChanges | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 変更の追跡が処理されていないエントリ数。 0 = 変更の追跡は有効でない NULL = テーブルにフルテキスト インデックスはない。 基本データ型: int |
TableFulltextPopulateStatus | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 0 = アイドル状態 1 = 全体を作成中 2 = 増分作成中 3 = 追跡した変更を伝達中 4 = 自動変更の追跡など、インデックスのバックグラウンド更新が進行中 5 = フルテキスト インデックス作成が絞り込みまたは停止された 6 = エラーが発生しました。 詳細については、クロール ログを確認します。 詳しくは、「フルテキスト インデックスの作成」の「フルテキスト作成 (クロール) で発生したエラーのトラブルシューティング」セクションをご覧ください。 基本データ型: int |
TableFullTextSemanticExtraction | テーブル | 適用対象: SQL Server 2012 (11.x) 以降。 テーブルでセマンティック インデックス作成が有効になっています。 1 = True 0 = False 基本データ型: int |
TableHasActiveFulltextIndex | テーブル | 適用対象: SQL Server 2008 (10.0.x) 以降。 テーブルにアクティブなフルテキスト インデックスがあります。 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 | テーブル | テーブルには、text、ntext、または 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'AdventureWorks2022.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. オブジェクトの基本の種類を検索する
次の例では、AdventureWorks2022
データベース内の MyEmployeeTable
テーブルに対して SYNONYM Employee
を作成した後、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
関連項目
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)