INDEX_COL (Transact-SQL)
更新 : 2006 年 7 月 17 日
インデックス付きの列名を返します。XML インデックスに対して NULL を返します。
構文
INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
table_or_view_name', index_id , key_id )
引数
- database_name
データベースの名前です。
- schema_name
インデックスが組み込まれているスキーマの名前です。
- table_or_view_name
テーブルまたはインデックス付きビューの名前です。table_or_view_name は単一引用符で区切る必要があり、データベース名とスキーマ名で完全に修飾できます。
- index_id
インデックスの ID です。index_ID のデータ型は int です。
- key_id
インデックス キー列の位置です。key_ID のデータ型は int です。
戻り値の型
nvarchar (128)
例外
エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。
SQL Server 2005 では、そのユーザーが所有しているか、または権限を与えられているセキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (INDEX_COL など) が NULL を返す可能性があります。詳細については、「メタデータ表示の構成」および「メタデータ表示のトラブルシューティング」を参照してください。
例
A. INDEX_COL を使用してインデックス列名を返す
この例では、インデックス PK_SalesOrderDetail_SalesOrderID_LineNumber
の 2 つのキー列の列名を返します。
USE AdventureWorks;
GO
SELECT
INDEX_COL (N'AdventureWorks.Sales.SalesOrderDetail', 1,1) AS
[Index Column 1],
INDEX_COL (N'AdventureWorks.Sales.SalesOrderDetail', 1,2) AS
[Index Column 2]
;
GO
以下に結果セットを示します。
Index Column 1 Index Column 2
-----------------------------------------------
SalesOrderID SalesOrderDetailID
参照
関連項目
式 (Transact-SQL)
メタデータ関数 (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 7 月 17 日 |
|