プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

データおよび参照整合性制約を含むパーティションの削除

パーティションにデータが含まれ、表に参照整合性制約がある場合には、次のいずれかの方法(方法1または2)を選択して表パーティションを削除します。この表にあるのはローカル索引のみであるため、索引を再作成する必要はありません。

方法1

削除するパーティションのデータを参照しているデータがない場合は、参照表の整合性制約を無効化してALTER TABLE DROP PARTITION文を発行し、整合性制約を再度有効化します。

これは、削除されるパーティションに表の合計データの大部分が含まれる大規模な表に最適な方法です。削除するパーティションのデータを参照するデータがある場合には、参照元のすべてのデータを削除して、参照整合性制約を再度有効化できるようにしてください。

方法2

参照表にデータがある場合は、ALTER TABLE DROP PARTITION文を発行する前に、DELETE文を発行してパーティションからすべての行を削除できます。DELETE文によって、参照整合性制約が施行されます。また、トリガーが起動されて、REDOログとUNDOログが生成されます。ON DELETE CASCADEオプションを指定して制約を作成すると削除が成功し、参照表からもすべての行が削除されます。

DELETE FROM sales partition (dec94);
ALTER TABLE sales DROP PARTITION dec94;

これは、小規模な表、または削除されるパーティションに含まれる表の合計データの割合が少ない場合に、大規模な表に最適な方法です。