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

  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009