sp_foreignkeys (T-SQL)
Berlaku untuk:SQL Server
Mengembalikan kunci asing yang mereferensikan kunci utama pada tabel di server tertaut.
Sintaks
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' ]
Argumen
[ @table_server = ] 'table_server'
Adalah nama server tertaut untuk mengembalikan informasi tabel. table_server adalah sysname, tanpa default.
[ @pktab_name = ] 'pktab_name'
Adalah nama tabel dengan kunci primer. pktab_name adalah sysname, dengan default NULL.
[ @pktab_schema = ] 'pktab_schema'
Adalah nama skema dengan kunci primer. pktab_schema adalah sysname, dengan default NULL. Di SQL Server, ini berisi nama pemilik.
[ @pktab_catalog = ] 'pktab_catalog'
Adalah nama katalog dengan kunci primer. pktab_catalog adalah sysname, dengan default NULL. Di SQL Server, ini berisi nama database.
[ @fktab_name = ] 'fktab_name'
Adalah nama tabel dengan kunci asing. fktab_name adalah sysname, dengan default NULL.
[ @fktab_schema = ] 'fktab_schema'
Adalah nama skema dengan kunci asing. fktab_schema adalah sysname, dengan default NULL.
[ @fktab_catalog = ] 'fktab_catalog'
Adalah nama katalog dengan kunci asing. fktab_catalog adalah sysname, dengan default NULL.
Mengembalikan Nilai Kode
Tidak ada
Tataan Hasil
Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (katalog.skema.tabel), yang diwakili dalam tataan hasil.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
PKTABLE_CAT | nama sysname | Katalog untuk tabel tempat kunci utama berada. |
PKTABLE_SCHEM | nama sysname | Skema untuk tabel tempat kunci utama berada. |
PKTABLE_NAME | nama sysname | Nama tabel (dengan kunci primer). Bidang ini selalu mengembalikan nilai. |
PKCOLUMN_NAME | nama sysname | Nama kolom atau kolom kunci utama, untuk setiap kolom TABLE_NAME dikembalikan. Bidang ini selalu mengembalikan nilai. |
FKTABLE_CAT | nama sysname | Katalog untuk tabel tempat kunci asing berada. |
FKTABLE_SCHEM | nama sysname | Skema untuk tabel tempat kunci asing berada. |
FKTABLE_NAME | nama sysname | Nama tabel (dengan kunci asing). Bidang ini selalu mengembalikan nilai. |
FKCOLUMN_NAME | nama sysname | Nama kolom kunci asing, untuk setiap kolom TABLE_NAME dikembalikan. Bidang ini selalu mengembalikan nilai. |
KEY_SEQ | smallint | Nomor urut kolom dalam kunci primer multikolom. Bidang ini selalu mengembalikan nilai. |
UPDATE_RULE | smallint | Tindakan yang diterapkan ke kunci asing ketika operasi SQL adalah pembaruan. SQL Server mengembalikan 0, 1, atau 2 untuk kolom ini: 0=CASCADE berubah menjadi kunci asing. 1=TIDAK ADA PERUBAHAN TINDAKAN jika ada kunci asing. 2=SET_NULL; atur kunci asing ke NULL. |
DELETE_RULE | smallint | Tindakan yang diterapkan ke kunci asing ketika operasi SQL adalah penghapusan. SQL Server mengembalikan 0, 1, atau 2 untuk kolom ini: 0=CASCADE berubah menjadi kunci asing. 1=TIDAK ADA PERUBAHAN TINDAKAN jika ada kunci asing. 2=SET_NULL; atur kunci asing ke NULL. |
FK_NAME | nama sysname | Pengidentifikasi kunci asing. Ini adalah NULL jika tidak berlaku untuk sumber data. SQL Server mengembalikan nama batasan KUNCI ASING. |
PK_NAME | nama sysname | Pengidentifikasi kunci utama. Ini adalah NULL jika tidak berlaku untuk sumber data. SQL Server mengembalikan nama batasan KUNCI PRIMER. |
DEFERRABILITY | smallint | Menunjukkan apakah pemeriksaan batasan dapat ditangguhkan. |
Dalam tataan hasil, kolom FK_NAME dan PK_NAME selalu mengembalikan NULL.
Keterangan
sp_foreignkeys mengkueri kumpulan baris FOREIGN_KEYS antarmuka IDBSchemaRowset penyedia OLE DB yang sesuai dengan table_server. Parameter table_name, table_schema, table_catalog, dan kolom diteruskan ke antarmuka ini untuk membatasi baris yang dikembalikan.
Izin
Memerlukan izin SELECT pada skema.
Contoh
Contoh berikut mengembalikan informasi kunci asing tentang Department
tabel dalam AdventureWorks2022
database di server tertaut, Seattle1
.
EXEC sp_foreignkeys @table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2022';
Lihat Juga
sp_catalogs (T-SQL)
sp_column_privileges (T-SQL)
sp_indexes (T-SQL)
sp_linkedservers (T-SQL)
sp_primarykeys (T-SQL)
sp_tables_ex (T-SQL)
sp_table_privileges (T-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk