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を実行すると、暗黙コミットが発生してしまうので、注意が必要です。
関連記事
コメント 0