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

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • mobilenet.cz

    mobilenet.cz

    26 NİSAN 2008
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006