如果你現在需要找到一個表格是否有一個關鍵鍵,你可以使用系統中的存儲進程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