敬业的IT人 >> 数据库 >> SQLServer >> 在SQL中用 SP_KEYS确定一个表格的关键键

在SQL中用 SP_KEYS确定一个表格的关键键

敬业的IT人 互联网 佚名 2008-1-7 11:24:41

如果你现在需要找到一个表格是否有一个关键键,你可以使用系统中的存储进程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 NORTHWINDGOEXEC sp_pkeys @table_name = N'Orders', @table_owner = N'dbo', @table_qualifier = N'Northwind'GOSELECT TC.CONSTRAINT_CATALOG, TC.CONSTRAINT_SCHEMA, TC.TABLE_NAME, KCU.COLUMN_NAME, KCU.ORDINAL_POSITION, KCU.CONSTRAINT_NAMEFROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TCJOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCUON TC.TABLE_NAME = KCU.TABLE_NAMEAND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAMEWHERE TC.TABLE_NAME = N'Orders' AND TC.CONSTRAINT_TYPE = N'PRIMARY KEY'GO

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com