2017-08-17 62 views
0

我有三個表如何使用依賴刪除數百萬條記錄與其他表

表1中的主鍵Element_ID

表2與主鍵Structure_ID

表3與主鍵MOD_ELEMENT有是兩個外部Element_ID(來自table1)和Structure_ID(來自表2)。

我已經從需要刪除的查詢中獲取Element_id和structure_id,因此我必須先刪除表3中的數據,然後再刪除其他兩個表中的數據。要刪除的記錄總數超過1000萬。

如果我正在迭代要刪除的值,使用遊標將是一個代價昂貴的操作。

+2

['ON DELETE CASCADE'](https://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php) – Phil

回答

0

這項工作?

/從表3引用的ID被刪除/ 從表3中刪除刪除任何數據,其中Element_ID在structureids elementids或Structure_ID;

- 然後刪除table2和table1的數據 從table2中刪除where structure_ID in structureids;

從table1中刪除其中Element_ID在elementids;

+0

它看起來像是從sql註釋中刪除了星號符號。 –

相關問題