PL/SQL – TRUNCATE TABLEを行うには


PL/SQLで、直接TRUNCATE TABLEと記述すると、コンパイラエラーになってしまいますが、
動的SQLで記述することにより、TRUNCATE TABLEを実現することができます。

直接、記述すると、コンパイル・エラーが発生してしまう。

CREATE OR REPLACE PROCEDURE P_TRUNCATE_HOGEHOGE
IS BEGIN
    TRUNCATE TABLE HOGEHOGE;
END;

警告: プロシージャが作成されましたが、コンパイル・エラーがあります。

動的SQLで記述すると、コンパイル・エラーが発生しない。

CREATE OR REPLACE PROCEDURE P_TRUNCATE_HOGEHOGE
IS BEGIN
    EXECUTE IMMEDIATE 'TRUNCATE TABLE HOGEHOGE';
END;

ただし、TRUNCATE TABLEを実行すると、暗黙コミットが発生してしまうので、注意が必要です。

関連記事

  1. コメント 0

  1. トラックバック 0

return top