sp_fkeys (Transact-SQL)
Zwraca wartość logiczną klucz obcy informacje o bieżącym środowisku.Procedura ta pokazuje relacji kluczy obcych tym wyłączonych kluczy obcych.
sp_fkeys [ @pktable_name = ] 'pktable_name'
[ , [ @pktable_owner = ] 'pktable_owner' ]
[ , [ @pktable_qualifier = ] 'pktable_qualifier' ]
{ , [ @fktable_name = ] 'fktable_name' }
[ , [ @fktable_owner = ] 'fktable_owner' ]
[ , [ @fktable_qualifier = ] 'fktable_qualifier' ]
Argumenty
[ @pktable_name = ] 'pktable_name'
Is the name of the table, with the primary key, used to return catalog information.pktable_name is sysname, with a default of NULL.Symbol wieloznaczny pasujące do wzorca nie jest obsługiwana.Ten parametr lub fktable_name należy podać parametr lub obu.[ @pktable_owner = ] 'pktable_owner'
Jest nazwą właściciela tabela (z klucz podstawowy) używane do zwracania informacji wykazu. pktable_owner jest sysname, z domyślną wartość NULL. Symbol wieloznaczny pasujące do wzorca nie jest obsługiwana.Jeśli pktable_owner nie jest określony, zastosować zasady domyślne tabela widoczności dla odpowiedniego systemu DBMS.W SQL Server, jeżeli bieżący użytkownik jest właścicielem tabela o podanej nazwie, zwracane są kolumny tabela. Jeśli pktable_owner nie określono i bieżący użytkownik nie jest właścicielem tabela z określonym pktable_name, procedura szuka tabela o określonym pktable_name właścicielem właścicielem bazy danych. Jeśli taki istnieje, zwracane są kolumny tabela.
[ @pktable_qualifier = ] 'pktable_qualifier'
Is the name of the table (with the primary key) qualifier.pktable_qualifier is sysname, with a default of NULL.Różne produkty DBMS obsługuje trzy części nazw tabel)qualifier.owner.name). W SQL Server, Kwalifikator reprezentuje nazwę bazy danych. W przypadku niektórych produktów reprezentuje nazwa serwera w środowisku bazy danych w tabela.[ @fktable_name = ] 'fktable_name'
Is the name of the table (with a foreign key) used to return catalog information.fktable_name is sysname, with a default of NULL.Symbol wieloznaczny pasujące do wzorca nie jest obsługiwana.Ten parametr lub pktable_name należy podać parametr lub obu.[ @fktable_owner = ] 'fktable_owner'
Is the name of the owner of the table (with a foreign key) used to return catalog information.fktable_owner is sysname, with a default of NULL.Symbol wieloznaczny pasujące do wzorca nie jest obsługiwana.Jeśli fktable_owner nie jest określony, zastosować zasady domyślne tabela widoczności dla odpowiedniego systemu DBMS.W SQL Server, jeżeli bieżący użytkownik jest właścicielem tabela o podanej nazwie, zwracane są kolumny tabela. Jeśli fktable_owner nie określono i bieżący użytkownik nie jest właścicielem tabela z określonym fktable_name, procedura szuka tabela o określonym fktable_name właścicielem właścicielem bazy danych. Jeśli taki istnieje, zwracane są kolumny tabela.
[ @fktable_qualifier =] 'fktable_qualifier'
Is the name of the table (with a foreign key) qualifier.fktable_qualifier is sysname, with a default of NULL.W SQL Server, Kwalifikator reprezentuje nazwę bazy danych. W przypadku niektórych produktów reprezentuje nazwa serwera w środowisku bazy danych w tabela.
Wartości kodów powrotnych
None
Zestawy wyników
Nazwa kolumna |
Typ danych |
Description |
---|---|---|
PKTABLE_QUALIFIER |
sysname |
Nazwa kwalifikator tabela (z klucz podstawowy).To pole może mieć wartość NULL. |
PKTABLE_OWNER |
sysname |
Nazwa właściciela tabela (z klucz podstawowy).To pole zawsze zwraca wartość. |
PKTABLE_NAME |
sysname |
Nazwa tabela (z klucz podstawowy).To pole zawsze zwraca wartość. |
PKCOLUMN_NAME |
sysname |
Nazwa kolumna klucz podstawowy dla każdej kolumna TABLE_NAME zwracane.To pole zawsze zwraca wartość. |
FKTABLE_QUALIFIER |
sysname |
Nazwa kwalifikator tabela (z klucz obcy).To pole może mieć wartość NULL. |
FKTABLE_OWNER |
sysname |
Nazwa właściciela tabela (z klucz obcy).To pole zawsze zwraca wartość. |
FKTABLE_NAME |
sysname |
Nazwa tabela (z klucz obcy).To pole zawsze zwraca wartość. |
FKCOLUMN_NAME |
sysname |
Nazwa kolumna klucz obcy dla każdej kolumna TABLE_NAME zwracane.To pole zawsze zwraca wartość. |
KEY_SEQ |
smallint |
Kolejny numer kolumna w oparciu o wiele kolumn klucz podstawowy.To pole zawsze zwraca wartość. |
UPDATE_RULE |
smallint |
Action applied to the foreign key when the SQL operation is an update.SQL Server returns 0 or 1 for these columns: 0 = CASCADE zmiany klucz obcy. 1 = Zmiany akcja nie ma klucz obcy. 2=zestaw_NULL; zestaw wartości null jako klucz obcy. |
DELETE_RULE |
smallint |
Action applied to the foreign key when the SQL operation is a deletion.SQL Server returns 0 or 1 for these columns: 0 = CASCADE zmiany klucz obcy. 1 = Zmiany akcja nie ma klucz obcy. 2=zestaw_NULL; zestaw wartości null jako klucz obcy. |
FK_NAME |
sysname |
Identyfikator klucz obcy.It is NULL if not applicable to the data source.SQL Server returns the FOREIGN KEY constraint name. |
PK_NAME |
sysname |
Identyfikator klucz podstawowy.It is NULL if not applicable to the data source.SQL Server returns the PRIMARY KEY constraint name. |
Zwrócone wyniki są uporządkowane według FKTABLE_QUALIFIER, FKTABLE_OWNER, FKTABLE_NAME, and KEY_SEQ.
Remarks
Aplikacja kodowania, który zawiera tabele z wyłączonymi kluczy obcych może być implementowana przez następujące:
Tymczasowe wyłączenie sprawdzania ograniczeń (NOCHECK instrukcji ALTER tabela lub CREATE tabela nie dla replikacja) podczas pracy z tabelami, a następnie włączając ponownie później.Aby uzyskać więcej informacji na temat opcji nie do replikacja Zobacz Kontrolowanie ograniczenia tożsamości i wyzwalaczy z nie dla replikacja.
Za pomocą wyzwalaczy lub kod aplikacji do wymuszania relacji.
Jeżeli podano nazwę tabela klucz podstawowy i nazwę tabela klucz obcy ma wartość NULL, sp_fkeys zwraca wszystkie tabele, które należą do danej tabela klucz obcy.Jeżeli podano nazwę tabela klucz obcy, a nazwa tabela klucz podstawowy jest NULL, sp_fkeys zwraca wszystkie tabele powiązane przez podstawowy klucz/relacji klucz obcy na klucze obce w tabela klucz obcy.
The sp_fkeys procedura przechowywana is equivalent to SQLForeignKeys in ODBC.
Uprawnienia
Wymaga uprawnienie SELECT do schematu.
Przykłady
Poniższy przykład pobiera listę kluczy obcych dla HumanResources.Department Tabela w AdventureWorks Baza danych.
USE AdventureWorks;
GO
EXEC sp_fkeys @pktable_name = N'Department'
,@pktable_owner = N'HumanResources'