Chinaunix首页 | 论坛 | 博客
  • 博客访问: 376604
  • 博文数量: 1051
  • 博客积分: 53280
  • 博客等级: 大将
  • 技术积分: 6670
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:21
文章分类

全部博文(1051)

文章存档

2011年(1)

2008年(1050)

我的朋友

分类:

2008-09-09 15:45:48


  当你需要找到一个表格是否有一个关键键,你可以使用系统的进程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
  
  
【责编:admin】

--------------------next---------------------

阅读(174) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~