sql中利用SP_KEYS来确定一个表格的关键键

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: 小  |  中  |  大  |  超大  

当你需要找到一个表格是否有一个关键键,你可以使用系统的存储进程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 = N'Orders', @table_owner = N'dbo', @table_qualifier = N'Northwind'

GO

SELECT TC.CONSTRAINT_CATALOG, TC.CONSTRAINT_SCHEMA, TC.TABLE_NAME, KCU.COLUMN_NAME, KCU.ORDINAL_POSITION, KCU.CONSTRAINT_NAME

FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC

JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU

ON TC.TABLE_NAME = KCU.TABLE_NAME

AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME

WHERE TC.TABLE_NAME = N'Orders' AND TC.CONSTRAINT_TYPE = N'PRIMARY KEY'

GO

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航