sp_foreignkeys (Transact-SQL)
' % S'tablosundaki tablo bağlantılı sunucubirincil anahtarlar başvuran yabancı anahtarları döndürür.
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'
Hangi tablo bilgilerini dönmek bağlantılı sunucu adıdır.table_serverİş sysname, ile hiçbir varsayılan.[ @ pktab_name = ] 'pktab_name'
' % S'tablo tablo bir birincil anahtaradıdır.pktab_nameİş sysname, varsayılan değer null.[ @ pktab_schema = ] 'pktab_schema'
Birincil anahtariçeren şemayı adıdır.pktab_schemaİş sysname, varsayılan değer null.De SQL Server 2008, bu var. sahibi adı[ @ pktab_catalog = ] 'pktab_catalog'
Birincil anahtarile katalog adıdır.pktab_catalogİş sysname, varsayılan değer null.De SQL Server, bunu içeren veritabanının adı.[ @ fktab_name = ] 'fktab_name'
' % S'tablo tablo yabancı anahtaradıdır.fktab_nameİş sysname, varsayılan değer null.[ @ fktab_schema = ] 'fktab_schema'
Şema bir yabancı anahtaradıdır.fktab_schemaİş sysname, varsayılan değer null.[ @ fktab_catalog = ] 'fktab_catalog'
Katalog bir yabancı anahtaradıdır.fktab_catalogİş sysname, varsayılan değer null.
Dönüş Kodu Değerleri
Hiçbiri
Sonuç Kümeleri
Tablolar için üç bölümlü adlandırma çeşitli DBMS ürünleri destekler (katalog**.Şema.**tablo), hangi temsil sonuç kümesi.
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 anahtarile) tablo adı.Bu alan , her zaman bir değer döndürür. |
PKCOLUMN_NAME |
sysname |
Birincil anahtar sütun veya sütunları, her sütun için adı table_name verdi.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 |
(İle yabancı anahtar) tablo adı.Bu alan , her zaman bir değer döndürür. |
FKCOLUMN_NAME |
sysname |
table_name her sütun 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 sayısı.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 Bu sütunlar döndürür: 0 = yabancı anahtarcascade değişiklikler. 1 yabancı anahtar varsa, eylem yok değişiklikleri =. 2 = SET_NULL; küme yabancı anahtar null. |
DELETE_RULE |
smallint |
SQL işlem silme işlemi olduğunda yabancı anahtar uygulanan eylem.SQL Server0, 1 veya 2 Bu sütunlar döndürür: 0 = yabancı anahtarcascade değişiklikler. 1 yabancı anahtar varsa, eylem yok değişiklikleri =. 2 = SET_NULL; küme yabancı anahtar null. |
FK_NAME |
sysname |
Yabancı anahtar tanımlayıcısı.Uygulanabilir değilse veri kaynaknull olur.SQL ServerYABANCI anahtar kısıtlaması adını döndürür. |
PK_NAME |
sysname |
Birincil anahtar tanımlayıcısı.Uygulanabilir değilse veri kaynaknull olur.SQL ServerBİRİNCİL anahtar kısıtlaması adını döndürür. |
ERTELENEBİLİRLİK |
smallint |
Denetleme kısıtlaması deferrable olup olmadığını gösterir. |
sonuç kümesi, 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 DBsağlayıcıarabirim table_server. table_name, table_schema, table_catalog, Ve column döndürülen satır kısıtlamak için bu arabirim geçilen parametreler.
İzinler
Şema üzerinde select izni gerektirir.
Örnekler
Aşağıdaki örnek, hakkında yabancı anahtar bilgi verir Department tablo AdventureWorks2008R2 bağlantılı sunucu, veritabanı Seattle1.
EXEC sp_foreignkeys @table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2008R2';
Ayrıca bkz.