PL/SQL 全テーブルをクリアする(ロールバック可能)

機能:

全テーブルをクリア(Oracle 10g環境で確認済み)
コード下記:
declare
— 全のテーブルのカーソルを指す
cursor c_t is
select table_name
from user_tables;

table_name user_tables.table_name%type;
begin
open c_t;
loop
fetch c_t into table_name;
exit when c_t%notfound;

— 誤操作を避けるためにdelteを使う、truncateを利用しない
execute immediate 'delete from ' || table_name;
end loop;
close c_t;
end;

DataBase

Posted by arkgame