SORU
7 HAZİRAN 2011, Salı


Nasıl SQL Server ile art arda silme kullanırım?

2 tablo var: T1 ve T2, verilerle mevcut tablo. T1 ve T2 arasında bir çok ilişki var. Nasıl bir rekor T1, T2, tüm ilişkili kayıtları da silinmiş silindiğinde SQL Server basamaklı silme işlemi için tablo tanımlarını değiştirebilir.

Yabancı kısıtlaması ikisinin arasında bir yerde. Tabloları bırakmak veya T2 için silme işlemini yapmak için bir tetikleyici oluşturmak istemiyorum. Bir çalışanın sildiğimde örneğin, tüm inceleme kaydı, gitmiş olmalı.

T1 Çalışanı

Employee ID      
Name
Status

T2 - Performans Değerlendirme,

Employee ID - 2009 Review
Employee ID - 2010 Review

CEVAP
7 HAZİRAN 2011, Salı


Gerekecektir

  • Varolan yabancı anahtar kısıtlaması, bırak
  • ON DELETE CASCADE Bu ayar etkinse, yeni bir tane ekleyin.

Gibi bir şey

ALTER TABLE dbo.T2
   DROP CONSTRAINT FK_T1_T2   -- or whatever it's called

ALTER TABLE dbo.T2
   ADD CONSTRAINT FK_T1_T2_Cascade
   FOREIGN KEY (EmployeeID) REFERENCES dbo.T1(EmployeeID) ON DELETE CASCADE

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008