PL/SQL TRUNCATE TABLEでコンパイラエラーになった場合の解決方法 ホームページ制作 | 墨田区

PL/SQL TRUNCATE TABLEでコンパイラエラーになった場合の解決方法

LINEで送る
Pocket

PL/SQL TRUNCATE TABLEでコンパイラエラーになった場合の解決方法 をご紹介します。通常 PL/SQL で直接 TRUNCATE TABLE と記述することはできません。記述する場合は動的 SQL で記述します。今回はその記述方法と TRUNCATE TABLE の注意点をご紹介します。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


動的SQLでTRUNCATE TABLEを記述する

CREATE OR REPLACE PROCEDURE PROC_TRUNCATE
IS BEGIN
    EXECUTE IMMEDIATE 'TRUNCATE TABLE EMPLOYEE';
END;

EXECUTE IMMEDIATE を使って動的 SQL を記述します。こうすることでコンパイルエラーを防ぎ、TRUNCATE TABLE を実行することができます。


TRUNCATE TABLE(TRUNCATE CLUSTER)の注意点

TRUNCATE TABLE(TRUNCATE CLUSTER) は DELETE 文より高速にデータを削除することができます。例えば、毎日バッチでデータを総入れ替えする場合などの処理には有効です。しかし注意も必要です。TRUNCATE TABLE を実行すると暗黙コミットが発生し ROLLBACK することはできません。何かの予期せぬエラーが発生した場合には、そのテーブルのデータを復元できないのです!

もし Exception が発生したら ROLLBACK したいという場合には DELETE 文を使うことをおすすめします。


TRUNCATE TABLE(TRUNCATE CLUSTER) は便利な反面、よく理解しないで使うと後で取り返しがつかなくなります。他サイトなどもよく参考にして利用を検討しましょう。

おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL