当你需要找到一个表格是否有一个关键键你可以使用系统的存储进程sp_pkeys系统的存储进程有三个输入参数
@table_name:这个是询问语句中表格的名字在通配符没有被使用的时候它是一个必须使用的参数
@table_owner:这个是表格系主
@table_qualifier:这个是表格所在地的数据库名字 (这个很让人产生一种误解因为你必须执行表格所在地的数据库中的这个进程)
sp_keys进程将返回这个信息
TABLE_QUALIFIER
TABLE_OWNER
TABLE_NAME
COLUMN_NAME
KEY_SEQ
PK_NAME
同样的你可以使用sp_keys系统的存储进程在关键键中找到表格
下面的代码将会从North Wind的检索关键键的信息顺序表格中检索关键键
USE NORTHWIND
GO
EXEC sp_pkeys @table_name = NOrders @table_owner = Ndbo @table_qualifier = NNorthwind
GO
SELECT TCCONSTRAINT_CATALOG TCCONSTRAINT_SCHEMA TCTABLE_NAME KCUCOLUMN_NAME KCUORDINAL_POSITION KCUCONSTRAINT_NAME
FROM INFORMATION_SCHEMATABLE_CONSTRAINTS TC
JOIN INFORMATION_SCHEMAKEY_COLUMN_USAGE KCU
ON TCTABLE_NAME = KCUTABLE_NAME
AND TCCONSTRAINT_NAME = KCUCONSTRAINT_NAME
WHERE TCTABLE_NAME = NOrders AND TCCONSTRAINT_TYPE = NPRIMARY KEY
GO