次の方法で共有


OBJECTPROPERTYEX (Transact-SQL)

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

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

構文

OBJECTPROPERTYEX ( id , property )

引数

  • 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

    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

    任意のスキーマ スコープ オブジェクト

    既定のバインド。

    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 内のどのカタログ ビューでも直接見ることはできません。 システム テーブルまたはデータベース ファイルへのアクセス権を持たないユーザーは、暗号化した形式のテキストを取得できません。 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

    ビュー

    ビュー。

    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

    テーブル

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

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

    1 = フルテキスト インデックスがマージ中

    TableFullTextBackgroundUpdateIndexOn

    テーブル

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

    1 = TRUE

    0 = FALSE

    基本データ型: int

    TableFulltextCatalogId

    テーブル

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

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

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

    基本データ型: int

    TableFullTextChangeTrackingOn

    テーブル

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

    1 = TRUE

    0 = FALSE

    基本データ型: int

    TableFulltextDocsProcessed

    テーブル

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

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

    > 0 = 次のいずれか

    • 完全、増分、または手動による変更追跡の作成開始以降、挿入操作や更新操作で処理されたドキュメントの数

    • バックグラウンド更新インデックス作成の有効化、フルテキスト インデックス スキーマの変更、フルテキスト カタログの再構築、または SQL Server のインスタンスの再起動などの変更の追跡以降、挿入操作や更新操作で処理された行数

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

    基本データ型: int

       このプロパティは、削除された行を監視またはカウントしません。

    TableFulltextFailCount

    テーブル

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

    0 = 作成完了

    >0 = 次のいずれか

    • 完全、増分、または手動による変更追跡の作成開始以降に、インデックスが作成されなかったドキュメントの数。

    • インデックスのバックグラウンド更新による変更追跡の場合、作成の開始または再開以降にインデックスが作成されなかった行数。 これは、スキーマ変更、カタログの再構築、サーバーの再起動などにより発生する場合があります。

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

    基本データ型: int

    TableFulltextItemCount

    テーブル

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

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

    基本データ型: int

    TableFulltextKeyColumn

    テーブル

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

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

    基本データ型: int

    TableFulltextPendingChanges

    テーブル

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

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

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

    基本データ型: int

    TableFulltextPopulateStatus

    テーブル

    0 = アイドル状態

    1 = 全体を作成中

    2 = 増分作成中

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

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

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

    基本データ型: int

    TableFullTextSemanticExtraction

    テーブル

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

    1 = True

    0 = False

    基本データ型: int

    TableHasActiveFulltextIndex

    テーブル

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

    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

    TableIsPinned

    テーブル

    テーブルは固定され、データ キャッシュに確保されています。

    0 = False

    この機能は SQL Server 2005 以降のバージョンではサポートされていません。

    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

    詳細については、「列セットの使用」を参照してください。

    Cardinality

    テーブル (システムまたはユーザー定義)、ビュー、またはインデックス

    指定されたオブジェクト内の行数。

戻り値の型

sql_variant

例外

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

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

説明

データベース エンジンでは、object_id が現在のデータベース コンテキスト内にあることが前提となっています。 別のデータベースにある object_id を参照するクエリでは、NULL または不適切な結果が返されます。 たとえば、次のクエリでは、現在のデータベース コンテキストが master データベースとなっており、 データベース エンジンはクエリで指定されているデータベースの代わりに、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) を返します。 インデックス作成で先頭の列が追加されるとすぐ、フルテキスト インデックス作成が自動的にアクティブになります。

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

使用例

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

次の例では、 AdventureWorks2012 データベース内の Employee テーブルに対して SYNONYM MyEmployeeTable を作成した後、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

関連項目

参照

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)