INDEX_COL (Transact-SQL)

更新日期: 2006 年 7 月 17 日

返回索引列名称。对于 XML 索引,返回 NULL。

主题链接图标Transact-SQL 语法约定

语法

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 中两个键列的列名。

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)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

新增内容:
  • 添加了“例外情况”部分。