oracle 多表刪除 同時刪除多表中關聯資料

2021-05-23 18:25:49 字數 858 閱讀 6943

oracle 多表刪除 同時刪除多表中關聯資料

1、從資料表t1中把那些id值在資料表t2裡有匹配的記錄全刪除掉

delete t1 from t1,t2 where t1.id=t2.id    或delete from t1 using t1,t2 where t1.id=t2.id

2、從資料表t1裡在資料表t2裡沒有匹配的記錄查詢出來並刪除掉

delete t1 from t1 left join t2 on t1.id=t2.id where t2.id is null 或

delete from t1,using t1 left join t2 on t1.id=t2.id where t2.id is null

3、從兩個表中找出相同記錄的資料並把兩個表中的資料都刪除掉

delete t1,t2 from t1 left join t2 on t1.id=t2.id where t1.id=25

注意此處的delete t1,t2 from 中的t1,t2不能是別名

如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在資料裡面執行是錯誤的(mysql 版本不小於5.0在5.0中是可以的)

上述語句改寫成

delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在資料裡面執行是錯誤的(mysql 版本小於5.0在5.0中是可以的)

多表連線查詢很相似,不詳加說明了

Oracle 多表級聯刪除方法

建立資料庫時為了防止其他人不小心刪除操作錯誤,所有的外來鍵都沒有加級聯刪除。哪知,不知什麼時候自己入了一批錯誤的資料進去,入庫使用的是軟體自動的,一下點錯給自己帶來無盡麻煩啊,刪除就不好辦了。表間的關係比較複雜,資料量又比較多,乙個個刪絕對會出大問題。於是實驗了幾種解決的辦法,現小結一下。方法一 建...

MySql delete同時刪除多表相關聯記錄

sql delete同時刪除多表相關聯記錄 sqlserver 支援級聯更新和刪除 oracle 只支援級聯刪除 刪除包含主鍵值的行的操作,該值由其它表的現有行中的外來鍵列引用。在級聯刪除中,還刪除其外鍵值引用刪除的主鍵值的所有行。如 create database temp gouse temp ...

SQL中多表連線delete同時刪除關聯表資料

delete刪除多表資料,怎樣才能同時刪除多個關聯表的資料呢?這裡做了深入的解釋 1 delete from t1 where 條件 2 delete t1 from t1 where 條件 3 delete t1 from t1,t2 where 條件 4 delete t1,t2 from t1...