ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
~~~SORU~CEVAP~~~
Gönderen: ~~FARUK UNAL~~
10.1.2014

En temizi Cascade yapısını kullanmak olur, o şekilde kullandığınızda silinen satırla iilişkili diğer satırlarda silinmiş oluyor. Ama eğerki şuan pratik bir çözüm istiyorsanız ilgili Foreign Key leri iptal ederek (silmeden) silme işlemini tamamlayabilir, ardından da işinizi bitirdikten sonra tekrar aktif edebilirsiniz.

ALTER TABLE TABLO_ADI NOCHECK CONSTRAINT ALL

Böyle kullanarak belirtilen tabloda kulllanılan FK lerin kendi tablonuzdan veri silinmesini engellemesini kaldırmış olursunuz. Yada şu şekilde de kullanabilirsiniz

ALTER TABLE TABLO_ADI NOCHECK CONSTRAINT IPTAL_EDILECEK_FK_ADI

Bu şekilde kullanırsanız da ilgili 10 tabloyu böyle belirterek kısıtlamaları kaldırabilir, ardından silme işlemini tamamladıktan sonra da bunları tekrar aktif edebilirsiniz. 

Aktif etme işlemi için ise yukarıdaki kodda kullandığımız NOCHECK yerine CHECK yazarak tekrar çalıştırmamız yeterli olacaktır

ALTER TABLE TABLO_ADI CHECK CONSTRAINT AKTIF_EDILECEK_FK_ADI

Gönderen: Selman
10.1.2014

Üstad çok sağol ALL yapınca tam olmadı yada ben biyerini yanlış yapmış olabilirim ama foreign key adı verince istediğim gibi çalıştı sağolasın

Gönderen: Erdal
28.12.2014

Üstad bir sorunum var şuan söylediğin gibi nocheck yapmayı denediğimde de aşağıdaki hatayı alıyprum maalesef 

 

Msg 3733, Level 16, State 1, Line 1
Constraint 'FK_prItemBasePrice_ItemCode' does not belong to table 'cdItem'.
Msg 4916, Level 16, State 0, Line 1
Could not enable or disable the constraint. See previous errors.
 

Ad Soyad :
E-mail :
Cevap :
DoÄŸrulama Kodu