INDEXKEY_PROPERTY (Transact-SQL)
返回有关索引键的信息。对于 XML 索引,返回 NULL。
重要提示 |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。可改用 sys.index_columns (Transact-SQL)。 |
语法
INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )
参数
object_ID
表或索引视图的对象标识号。object_ID 的数据类型为 int。index_ID
索引标识号。index_ID 的数据类型为 int。key_ID
索引键列的位置。key_ID 的数据类型为 int。property
要返回其信息的属性的名称。property 是字符串,可以是下列值之一:值
说明
ColumnId
索引的 key_ID 位置上的列 ID。
IsDescending
存储索引列的排序顺序。
1 = 降序 0 = 升序
返回类型
int
异常
出现错误时或调用方没有查看对象的权限时,将返回 NULL。
用户只能查看符合如下条件的安全对象的元数据:该安全对象为该用户所有,或已授予该用户对该安全对象的权限。也就是说,如果用户对该对象没有任何权限,则那些会生成元数据的内置函数(如 INDEXKEY_PROPERTY)可能返回 NULL。有关详细信息,请参阅元数据可见性配置和元数据可见性故障排除。
示例
在以下示例中,将返回 Production.Location 表中索引 ID 1 和键列 1 的两个属性。
USE AdventureWorks2008R2;
GO
SELECT
INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),
1,1,'ColumnId') AS [Column ID],
INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),
1,1,'IsDescending') AS [Asc or Desc order];
下面是结果集:
Column ID Asc or Desc order
----------- -----------------
1 0
(1 row(s) affected)