sp_foreignkeys (języka Transact-SQL)

Zwraca kluczy obcych, odwołujące się do klucze podstawowe w tabela w serwer połączony.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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' ]

Argumenty

  • [ @ table_server = ] 'table_server"
    Jest nazwą serwer połączony dla którego ma zostać zwrócona informacji o tabela .table_serverjest sysname, z braku domyślne.

  • [ @ pktab_name = ] 'pktab_name"
    Jest nazwą tabela kluczpodstawowego.pktab_namejest sysname, domyślna wartość NULL.

  • [ @ pktab_schema = ] 'pktab_schema"
    Jest to nazwa schematu z kluczpodstawowego.pktab_schemajest sysname, domyślna wartość NULL.W SQL Server 2008, zawiera nazwę właściciela.

  • [ @ pktab_catalog = ] 'pktab_catalog"
    Jest nazwą katalogu z kluczpodstawowego.pktab_catalogjest sysname, domyślna wartość NULL.W SQL Server, zawiera nazwę bazy danych.

  • [ @ fktab_name = ] 'fktab_name"
    Jest nazwą tabela z klucz obcy.fktab_namejest sysname, domyślna wartość NULL.

  • [ @ fktab_schema = ] 'fktab_schema"
    Jest to nazwa schematu z klucz obcy.fktab_schemajest sysname, domyślna wartość NULL.

  • [ @ fktab_catalog = ] 'fktab_catalog"
    Jest nazwą katalogu z klucz obcy.fktab_catalogjest sysname, domyślna wartość NULL.

Wartości kodów powrotnych

Brak

Zestawy wyników

Różne produkty DBMS obsługuje trzy części nazw tabel (katalog**.schemat.**tabela), która jest reprezentowana w zestaw wyników.

Nazwa kolumny

Typ danych

Opis

PKTABLE_CAT

sysname

Katalogu, w którym znajduje się klucz podstawowy tabela .

PKTABLE_SCHEM

sysname

Schemat dla tabela , w którym znajduje się klucz podstawowy.

PKTABLE_NAME

sysname

Nazwa tabela (z podstawowego klucz).To pole zawsze zwraca wartość.

PKCOLUMN_NAME

sysname

Nazwa kluczpodstawowegokolumna lub kolumny, dla każdej kolumna nazwa_tabeli zwracane. To pole zawsze zwraca wartość.

FKTABLE_CAT

sysname

Wykazu dla tabela znajduje się klucz obcy .

FKTABLE_SCHEM

sysname

Schemat tabela znajduje się klucz obcy .

FKTABLE_NAME

sysname

Nazwa tabela (z klucz obcy).To pole zawsze zwraca wartość.

FKCOLUMN_NAME

sysname

Nazwa kolumny klucz obcy dla każdej kolumna nazwa_tabeli zwracana.To pole zawsze zwraca wartość.

KEY_SEQ

smallint

Kolejny numer kolumna w wielokolumnowym kluczpodstawowego.To pole zawsze zwraca wartość.

UPDATE_RULE

smallint

Akcja stosowane do klucz obcy , gdy operacja SQL jest aktualizacja.SQL ServerZwraca wartość 0, 1 lub 2 dla tych kolumn:

0 = Zmiany kaskadowe klucz obcy.

1 = Zmienia żadnej akcji, jeśli ma klucz obcy .

2 = SET_NULL; zestaw klucz obcy na wartość NULL.

DELETE_RULE

smallint

Akcja stosowane do klucz obcy , gdy operacja SQL jest usunięcie.SQL ServerZwraca wartość 0, 1 lub 2 dla tych kolumn:

0 = Zmiany kaskadowe klucz obcy.

1 = Zmienia żadnej akcji, jeśli ma klucz obcy .

2 = SET_NULL; zestaw klucz obcy na wartość NULL.

FK_NAME

sysname

Identyfikator klucz obcego.Jeśli nie ma zastosowania do danych źródło, jest NULL.SQL ServerZwraca nazwę ograniczenie klucza OBCEGO.

PK_NAME

sysname

Identyfikator klucz podstawowego.Jeśli nie ma zastosowania do danych źródło, jest NULL.SQL ServerZwraca nazwę ograniczenie klucza podstawowego.

OPÓŹNIENIA

smallint

Wskazuje, czy sprawdzanie ograniczenia jest deferrable.

W zestaw wynikówkolumnach FK_NAME i PK_NAME zawsze zwraca wartość NULL.

Uwagi

sp_foreignkeys kwerendy FOREIGN_KEYS zestaw wierszy o IDBSchemaRowset interfejsdostawca OLE DB, który odpowiada table_server. table_name, table_schema, table_catalog, I column Parametry są przekazywane do tego interfejs , ograniczyć wierszy zwracanych.

Uprawnienia

Wymaga uprawnienie SELECT schematu.

Przykłady

Poniższy przykład zwraca klucz obcy informacje o Department tabela w AdventureWorks2008R2 bazy danych na serwer połączony Seattle1.

EXEC sp_foreignkeys @table_server = N'Seattle1', 
   @pktab_name = N'Department', 
   @pktab_catalog = N'AdventureWorks2008R2';