2013-03-21 55 views
0

我有一個使用數據庫的Winforms應用程序。在sql和c中使用級聯和連接表從2個表中刪除#

現在,在數據庫中,我有這些表:

  1. table A(PK =身份 - 自動遞增)
  2. table B(PK =身份 - 自動遞增)
  3. table C(FK =表A的PK和表B的PK)

表A和B是陌生人,所以我添加了表C來連接它們。

我試圖做一個級聯刪除,所以當我從表A中刪除一行,它會刪除表B和C.

的相關行我表集A和B之間的關係C和B和C.

但是,當我刪除表A中的一行時,它從表C中刪除,但不是從B中刪除。 爲什麼?

我無法設置表C到處於表B的父母,因爲主鍵...

+0

使用級聯刪除是不可能的。嘗試使用觸發器。 – 2013-03-21 16:13:37

+0

如果我可以,我會...但這是要求之一 – Elior 2013-03-21 16:16:16

+0

建議您使用存儲過程來刪除您在一次事務中需要刪除的所有內容。 – ljh 2013-03-21 16:21:56

回答

0

我建議你添加特定的治療,當你想級聯處理,刪除你的數據。最佳做法,以控制您的刪除系統。

+0

謝謝,是否可以使用內部連接來解決這個問題? – Elior 2013-03-21 16:19:27

+0

是的,你可以使用inner join來刪除這些數據。或子查詢連IN或EXISTS(我更喜歡EXISTS) – 2013-03-21 16:21:06

+0

行..有內部連接的最佳方法嗎?什麼與表之間的關係?我試過沒有運氣 – Elior 2013-03-21 16:23:08