sp_foreignkeys (Transact-sql)
Bağlantılı sunucu tablosunda birincil anahtar başvuran yabancı anahtarları döndürür.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_foreignkeys [ @table_server = ] 'table_server'
[ , [ @pktab_name = ] 'pktab_name' ]
[ , [ @pktab_schema = ] 'pktab_schema' ]
[ , [ @pktab_catalog = ] 'pktab_catalog' ]
[ , [ @fktab_name = ] 'fktab_name' ]
[ , [ @fktab_schema = ] 'fktab_schema' ]
[ , [ @fktab_catalog = ] 'fktab_catalog' ]
Bağımsız değişkenler
@ table_server = 'table_server'
Tablo bilgilerini dönmek için bağlantılı sunucu adıdır. table_serverise sysname, hiçbir varsayılan ile.@ pktab_name = 'pktab_name'
Tablonun birincil anahtar adıdır. pktab_nameise sysname, null varsayılan.@ pktab_schema = 'pktab_schema'
Şema ile birincil anahtar adıdır. pktab_schema* *ise sysname, null varsayılan. De SQL Server, bu sahibi bulunduğu.@ pktab_catalog = 'pktab_catalog'
Katalog ile birincil anahtar adıdır. pktab_catalog* *ise sysname, null varsayılan. De SQL Server, bu veritabanı adını içerir.@ fktab_name = 'fktab_name'
Yabancı anahtarı içeren tabloyu addır. fktab_name* *ise sysname, null varsayılan.@ fktab_schema = 'fktab_schema'
Şema ile yabancı anahtar adıdır. fktab_schema* *ise sysname, null varsayılan.@ fktab_catalog = 'fktab_catalog'
Katalog ile yabancı anahtar adıdır. fktab_catalog* *ise sysname, null varsayılan.
Dönüş Kodu Değerleri
Hiçbiri
Sonuç Kümeleri
Tablolar için üç bölümlü adlandırma çeşitli dbms ürünleri desteği (catalog**.schema.**table), sonuç kümesinde temsil edilir.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
PKTABLE_CAT |
sysname |
Birincil anahtar içinde bulunduğu tablo katalog. |
PKTABLE_SCHEM |
sysname |
Birincil anahtar içinde bulunduğu tablo şema. |
PKTABLE_NAME |
sysname |
(Birincil anahtar ile) tablonun adı. Bu alan her zaman bir değer döndürür. |
PKCOLUMN_NAME |
sysname |
Her sütunu birincil anahtar sütunu veya sütunları, adını table_name döndü. Bu alan her zaman bir değer döndürür. |
FKTABLE_CAT |
sysname |
Yabancı anahtar içinde bulunduğu tablo katalog. |
FKTABLE_SCHEM |
sysname |
Yabancı anahtar içinde bulunduğu tablo şema. |
FKTABLE_NAME |
sysname |
(Yabancı anahtar ile) tablonun adı. Bu alan her zaman bir değer döndürür. |
FKCOLUMN_NAME |
sysname |
table_name her sütunu için yabancı anahtar sütunları adını verdi. Bu alan her zaman bir değer döndürür. |
KEY_SEQ |
smallint |
Sıra sütunlu birincil anahtar sütun numarası. Bu alan her zaman bir değer döndürür. |
UPDATE_RULE |
smallint |
sql işlem bir güncelleştirme olduğunda yabancı anahtar uygulanan eylem. SQL Server0, 1 veya 2 için bu sütunlar döndürür: 0 = Yabancı anahtar cascade değişiklikler. 1 = Yabancı anahtar varsa hayır eylem değişiklikleri. 2 = SET_NULL; yabancı anahtar null olarak ayarlayın. |
DELETE_RULE |
smallint |
sql işlem silme olduğunda yabancı anahtar uygulanan eylem. SQL Server0, 1 veya 2 için bu sütunlar döndürür: 0 = Yabancı anahtar cascade değişiklikler. 1 = Yabancı anahtar varsa hayır eylem değişiklikleri. 2 = SET_NULL; yabancı anahtar null olarak ayarlayın. |
FK_NAME |
sysname |
Yabancı anahtarı tanımlayıcısı. Veri kaynağına uygulanamaz olması durumunda null olur. SQL ServerFOREIGN key kısıtlaması ismini döndürür. |
PK_NAME |
sysname |
Birincil anahtarı tanımlayıcısı. Veri kaynağına uygulanamaz olması durumunda null olur. SQL ServerBİRİNCİL anahtar kısıtlaması ismini döndürür. |
ERTELENEBİLİRLİK |
smallint |
Denetleme kısıtlaması deferrable olup olmadığını gösterir. |
Sonuç kümesinde fk_name ve pk_name sütunlar her zaman null döndürür.
Açıklamalar
sp_foreignkeys FOREIGN_KEYS satır kümesi sorguları IDBSchemaRowset karşılık gelen ole db sağlayıcısı arabirimi table_server. table_name, table_schema, table_catalog, Ve columndöndürülen satır kısıtlamak için bu arabirime geçilen parametreler.
İzinler
Şema select izni gerektirir.
Örnekler
Aşağıdaki örnek, hakkında yabancı anahtar bilgileri verir Departmentiçinde tablo AdventureWorks2012 veritabanı bağlantılı sunucu Seattle1.
EXEC sp_foreignkeys @table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2012';
EXEC sp_foreignkeys @table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2012';
Ayrıca bkz.
Başvuru
sp_column_privileges (Transact-sql)
sp_linkedservers (Transact-sql)
sp_tables_exIDBSchemaRowset (Transact-sql)