Bagikan melalui


REFERENTIAL_CONSTRAINTS (T-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Mengembalikan satu baris untuk setiap batasan KUNCI ASING dalam database saat ini. Tampilan skema informasi ini mengembalikan informasi tentang objek tempat pengguna saat ini memiliki izin.

Untuk mengambil informasi dari tampilan ini, tentukan nama INFORMATION_SCHEMA yang sepenuhnya memenuhi syarat.view_name.

Nama kolom Jenis data Deskripsi
CONSTRAINT_CATALOG nvarchar(128) Kualifikasi batasan.
CONSTRAINT_SCHEMA nvarchar(128) Nama skema yang berisi batasan.

Penting: Jangan gunakan tampilan INFORMATION_SCHEMA untuk menentukan skema objek. INFORMATION_SCHEMA tampilan hanya mewakili subset metadata objek. Satu-satunya cara yang dapat diandalkan untuk menemukan skema objek adalah dengan mengkueri sys.objects tampilan katalog.
CONSTRAINT_NAME nama sysname Nama batasan.
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) Kualifikasi batasan UNIK.
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) Nama skema yang berisi batasan UNIK.

Penting: Jangan gunakan tampilan INFORMATION_SCHEMA untuk menentukan skema objek. INFORMATION_SCHEMA tampilan hanya mewakili subset metadata objek. Satu-satunya cara yang dapat diandalkan untuk menemukan skema objek adalah dengan mengkueri sys.objects tampilan katalog.
UNIQUE_CONSTRAINT_NAME nama sysname Batasan UNIK.
MATCH_OPTION varchar(7) Kondisi pencocokan batasan referensial. Selalu mengembalikan SIMPLE. Ini berarti bahwa tidak ada kecocokan yang ditentukan. Kondisi dianggap cocok ketika salah satu hal berikut ini benar:

Setidaknya satu nilai dalam kolom kunci asing adalah NULL.

Semua nilai dalam kolom kunci asing bukan NULL, dan ada baris dalam tabel kunci utama yang memiliki kunci yang sama.
UPDATE_RULE varchar(11) Tindakan yang diambil ketika pernyataan Transact-SQL melanggar integritas referensial yang ditentukan oleh batasan ini. Mengembalikan salah satu hal berikut ini:
TIDAK ADA TINDAKAN
CASCADE
SET NULL
ATUR DEFAULT

Jika TIDAK ADA TINDAKAN yang ditentukan pada ON UPDATE untuk batasan ini, pembaruan kunci utama yang direferensikan dalam batasan tidak akan disebarluaskan ke kunci asing. Jika pembaruan kunci primer seperti itu akan menyebabkan pelanggaran integritas referensial karena setidaknya satu kunci asing berisi nilai yang sama, SQL Server tidak akan membuat perubahan apa pun pada induk dan merujuk tabel. SQL Server juga akan menimbulkan kesalahan.

Jika CASCADE ditentukan pada ON UPDATE untuk batasan ini, setiap perubahan pada nilai kunci utama secara otomatis disebarkan ke nilai kunci asing.
DELETE_RULE varchar(11) Tindakan yang diambil ketika pernyataan Transact-SQL melanggar integritas referensial yang ditentukan oleh batasan ini. Mengembalikan salah satu hal berikut ini:
TIDAK ADA TINDAKAN
CASCADE
SET NULL
ATUR DEFAULT

Jika TIDAK ADA TINDAKAN yang ditentukan pada ON DELETE untuk batasan ini, penghapusan pada kunci utama yang direferensikan dalam batasan tidak akan disebarluaskan ke kunci asing. Jika penghapusan kunci primer seperti itu akan menyebabkan pelanggaran integritas referensial karena setidaknya satu kunci asing berisi nilai yang sama, SQL Server tidak akan membuat perubahan apa pun pada induk dan merujuk tabel. SQL Server juga akan menimbulkan kesalahan.

Jika CASCADE ditentukan pada ON DELETE pada batasan ini, setiap perubahan pada nilai kunci utama secara otomatis disebarkan ke nilai kunci asing.

Lihat Juga

Tampilan Sistem (Transact-SQL)
Tampilan Skema Informasi (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (T-SQL)