Aracılığıyla paylaş


sp_foreignkeys (Transact-sql)

Bağlantılı sunucu tablosunda birincil anahtar başvuran yabancı anahtarları döndürür.

Konu bağlantısı simgesi 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_catalogs (Transact-sql)

sp_column_privileges (Transact-sql)

sp_indexes (Transact-sql)

sp_linkedservers (Transact-sql)

sp_primarykeys (Transact-sql)

sp_tables_exIDBSchemaRowset (Transact-sql)

sp_table_privileges (Transact-sql)

Sistem saklı yordamları (Transact-sql)