適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (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。 次の表に、各プロパティ値に対する基本のデータ型を示します。
Note
特に明記されていない限り、プロパティが有効なプロパティ名でない場合、ID が有効なオブジェクト ID ではない場合、ID が指定されたプロパティに対してサポートされていないオブジェクトの種類である場合、または呼び出し元にオブジェクトのメタデータを表示する権限がない場合、NULLが返されます。
| プロパティ名 | オブジェクトの種類 | 説明と戻り値 |
|---|---|---|
BaseType |
任意のスキーマ スコープ オブジェクト | オブジェクトの基本の種類。 指定したオブジェクトが SYNONYMの場合は、基になるオブジェクトの基本型が返されます。Null 以外 = オブジェクト型 基本データ型: char(2) |
CnstIsClustKey |
制約 |
PRIMARY KEY 制約とクラスター化インデックス。1 = True 0 = False 基本データ型: int |
CnstIsColumn |
制約 |
CHECK、 DEFAULT、または 1 つの列に対する制約を FOREIGN KEY します。1 = True 0 = False 基本データ型: int |
CnstIsDeleteCascade |
制約 |
FOREIGN KEY 制約を ON DELETE CASCADE オプションで指定します。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 |
制約 |
FOREIGN KEY 制約を ON UPDATE CASCADE オプションで指定します。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 オプションの設定が ONされることを指定します。つまり、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) 内のどのカタログ ビューでも直接見ることはできません。 システム テーブルまたはデータベース ファイルへのアクセス権を持たないユーザーは、暗号化した形式のテキストを取得できません。 ただし、データベース 管理者の診断接続 を介してシステム テーブルにアクセスしたり、データベース ファイルに直接アクセスしたりできるユーザーは、テキストを使用できます。 また、サーバー プロセスにデバッガーをアタッチできるユーザーは、実行時、元のプロシージャをメモリから取得できます。 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 トリガー, ビュー |
オブジェクトの引用符で囲まれた識別子の設定が ONされることを指定します。つまり、二重引用符は、オブジェクト定義に関係するすべての式で識別子を区切ります。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 トリガーがあります。Nonnull = 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 = テーブルに Full-Text インデックスがありません。基本データ型: 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 詳細については、「 In-Memory 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 詳細については、「 列セットの使用」を参照してください。 |
Cardinality |
テーブル (システムまたはユーザー定義)、ビュー、またはインデックス |
適用対象: SQL Server 2012 (11.x) 以降のバージョン。 指定されたオブジェクト内の行数。 |
TableTemporalType |
テーブル |
適用対象: 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 INDEX (Transact-SQL)」を参照してください。
OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') は、インデックス作成のためにテーブルの少なくとも 1 つの列が追加されると、1 (true) の値を返します。 インデックス作成で先頭の列が追加されるとすぐ、フルテキスト インデックス作成が自動的にアクティブになります。
メタデータの表示に関する制限は、結果セットに適用されます。 詳細については、「 メタデータの可視性の構成」を参照してください。
例
A. オブジェクトの基本型を検索する
次の例では、AdventureWorks2022 データベースにEmployee テーブルのSYNONYMMyEmployeeTableを作成し、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