新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > 数据库综合 > 正文:在SQL中用SP_KEYS确定一个表格的关键键

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

新客网 XKER.COM 2007-12-04 来源: 收藏本文
 

如果你现在需要找到一个表格是否有一个关键键,你可以使用系统中的存储进程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  

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐