sp_foreignkeys (Transact-SQL)

' % S'tablosundaki tablo bağlantılı sunucubirincil anahtarlar başvuran yabancı anahtarları döndürür.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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'
    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';