Aracılığıyla paylaş


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Mevcut veritabanındaki her YABANCI ANAHTAR kısıtlaması için bir satır döndürür. Bu bilgi şeması görünümü, mevcut kullanıcının izinlerine sahip olduğu nesneler hakkında bilgi döndürür.

Bu görünümlerden bilgi almak için, INFORMATION_SCHEMA'ın tam nitelikli adını belirtin. view_name.

Sütun adı Veri türü Description
CONSTRAINT_CATALOG nvarchar(128) Kısıtlama elemecisi.
CONSTRAINT_SCHEMA nvarchar(128) Kısıtlamayı içeren şemanın adı.

Önemli: Bir nesnenin şemasını belirlemek için INFORMATION_SCHEMA görünümleri kullanma. INFORMATION_SCHEMA görünümler, bir nesnenin meta verisinin yalnızca bir alt kümesini temsil eder. Bir nesnenin şemasını bulmanın tek güvenilir yolu, katalog görünümünü sys.objects sorgulamaktır.
CONSTRAINT_NAME sysname Kısıtlı isim.
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) UNIQUE kısıtlama niteleyicisi.
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) UNIQUE kısıtlamasını içeren şema adı.

Önemli: Bir nesnenin şemasını belirlemek için INFORMATION_SCHEMA görünümleri kullanma. INFORMATION_SCHEMA görünümler, bir nesnenin meta verisinin yalnızca bir alt kümesini temsil eder. Bir nesnenin şemasını bulmanın tek güvenilir yolu, katalog görünümünü sys.objects sorgulamaktır.
UNIQUE_CONSTRAINT_NAME sysname EŞİZ kısıtlama.
MATCH_OPTION varchar(7) Referanslı kısıtlama eşleştirme koşulları. Her zaman BASİTİR geri döner. Bu da bir eşleşmenin tanımlanmadığı anlamına gelir. Koşullar, aşağıdakilerden biri doğru olduğunda eşleşme olarak kabul edilir:

Yabancı anahtar sütununda en az bir değer NULL'dur.

Yabancı anahtar sütunundaki tüm değerler NULL değildir ve birincil anahtar tablosunda aynı anahtara sahip bir satır vardır.
UPDATE_RULE varchar(11) Bir Transact-SQL ifadesi bu kısıtlama tarafından tanımlanan referans bütünlüğünü ihlal ettiğinde yapılan eylem. Aşağıdakilerden birini döndürür:
EYLEM YOK
ÇAĞLAYAN
SET NULL
VARSAYILANI AYAR

Eğer bu kısıtlama için ONON UPDATE'de HİÇ EYLEM belirtilmemişse, kısıtlamada referans verilen birincil anahtarın güncellenmesi yabancı anahtara iletilmez. Eğer birincil anahtarın böyle bir güncellemesi, en az bir yabancı anahtar aynı değeri içerdiği için referans bütünlüğü ihlaline yol açarsa, SQL Server ana ve referans tablolarında herhangi bir değişiklik yapmaz. SQL Server ayrıca bir hata çıkarır.

Bu kısıtlama için ON UPDATE'de CASCADE belirtilmişse, birincil anahtar değerindeki herhangi bir değişiklik otomatik olarak yabancı anahtar değerine iletir.
DELETE_RULE varchar(11) Bir Transact-SQL ifadesi bu kısıtlama tarafından tanımlanan referans bütünlüğünü ihlal ettiğinde yapılan eylem. Aşağıdakilerden birini döndürür:
EYLEM YOK
ÇAĞLAYAN
SET NULL
VARSAYILANI AYAR

Eğer bu kısıtlama için ON DELETE'de HİÇ EYLEM belirtilmemişse, kısıtlamada referans verilen birincil anahtarın silme işlemi yabancı anahtara iletilmez. Eğer birincil anahtarın böyle bir silmesi, en az bir yabancı anahtar aynı değeri içerdiği için referans bütünlüğü ihlaline yol açarsa, SQL Server ana ve referans tablolarında herhangi bir değişiklik yapmaz. SQL Server ayrıca bir hata çıkarır.

Bu kısıtlama üzerinde ON DELETE olarak CASCADE belirtilirse, birincil anahtar değerindeki herhangi bir değişiklik otomatik olarak yabancı anahtar değerine iletir.

Ayrıca Bkz.

Sistem Görünümleri (Transact-SQL)
Bilgi Şeması Görünümleri (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)