SQL Join 的 資料刪除一問 |
答題得分者是:Stallion
|
avex_61188
一般會員 發表:1 回覆:2 積分:0 註冊:2006-08-21 發送簡訊給我 |
大家好
我有三個 table, 分別是 People , Link 及 Book. 我利用 join 將這三個 table link 起來成一個人書的關係 這三個 table 敘述如下
我的問題是, 我不想分二次刪, 今天有一本書 B2 要刪除了, 我要怎麼樣可以將 [Book]裡的B2及 [Link] 裡面, 有關聯到B2的資料全部刪除? 注意, People 裡的人不可以被刪掉 Join 可以隨大家想法而改變 在此先謝了 ^ ^ 編輯記錄
avex_61188 重新編輯於 2007-12-25 15:12:41, 註解 無‧
| |||
shinhrn
中階會員 發表:54 回覆:165 積分:83 註冊:2002-06-05 發送簡訊給我 |
||||
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
||||
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
一定會分兩次刪除 (這就不解釋了)
但可以使用一個指令做到,但是每種資料庫的這種特殊指令,不一定一樣 簡單的可以使用 SP 做定義,這樣用一個 SP 指令就可以,原理都差不多 建議用 SP,到哪牌資料庫系統都可以用,不然就用 view (但還要該 view 的能力有支援) 吧! ===================引 用 avex_61188 文 章=================== 大家好 我有三個 table, 分別是 People , Link 及 Book. 我利用 join 將這三個 table link 起來成一個人書的關係 這三個 table 敘述如下
我的問題是, 我不想分二次刪, 今天有一本書 B2 要刪除了, 我要怎麼樣可以將 [Book]裡的B2及 [Link] 裡面, 有關聯到B2的資料全部刪除? 注意, People 裡的人不可以被刪掉 Join 可以隨大家想法而改變 在此先謝了 ^ ^ |
|||
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
SP = Stored Procedure (ex: oracle PL/SQL)
===================引 用 syntax 文 章=================== 一定會分兩次刪除 (這就不解釋了) 但可以使用一個指令做到,但是每種資料庫的這種特殊指令,不一定一樣 簡單的可以使用 SP 做定義,這樣用一個 SP 指令就可以,原理都差不多 建議用 SP,到哪牌資料庫系統都可以用,不然就用 view (但還要該 view 的能力有支援) 吧!
------
What do we live for if not to make life less difficult for each other? |
|||
avex_61188
一般會員 發表:1 回覆:2 積分:0 註冊:2006-08-21 發送簡訊給我 |
我試過各種 View , 但不是連 People 都一起刪了就是有刪 book, 不刪 link 的
不知道是不是我用法不對 目前我用 SQL Server 作測試 當然我現在是用二個刪除 SQL , 如 pedro756901 所言, 但真的太麻煩了 而且我怕有一個刪成功,一個刪失敗的現象 (例如 link 刪完, book 還在) 所以我又用了 transaction 但, 我資料庫裡有很多連結都是這樣, 若每一個動作都要如此就覺得很麻煩 StoredProcedure 也是要為每一個連結都作一個 StoredProcedure ? (例如人跟車的關係, 人跟權限的關係.....) |
|||
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
||||
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
||||
avex_61188
一般會員 發表:1 回覆:2 積分:0 註冊:2006-08-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |