HomeORACLE全テーブルのデータを削除するtruncate table文を作成する

ORACLEデータベースのスキーマにある、全テーブルのデータを削除するtruncate table文を作成する方法について掲載しています。

当該データベースのスキーマにある全テーブルのレコードを削除

※実行前には、くれぐれもご注意ください。
ORACLEデータベースの、あるスキーマに存在する
全てのテーブルのデータをいったん全部削除したい。

だけど、テーブルをDROPして再度CREATEするのは恐い、、、
truncate tableを使えばできるけど、全テーブルに対してSQL作るのが面倒。。
そんなときに使えるのが、以下のSQLです。
※TRUNCATEはDMLではなくDDLなので、ロールバックできないのでご注意を!

SELECT 'TRUNCATE TABLE ' || table_name || ';' FROM USER_ALL_TABLES


取得できる結果は、当該データベースのスキーマに
HOGE, HAGE, HIGEテーブルが存在する場合、以下のようになります。

'TRUNCATETABLE'||TABLE_NAME||';'
TRUNCATE TABLE HOGE;
TRUNCATE TABLE HAGE;
TRUNCATE TABLE HIGE;
※対象テーブルは、該当スキーマに存在する全てのテーブル

これらをCSEなどに全て貼り付けて、「一括実行」してやると、 ORACLEデータベースの当該スキーマに存在する全てのテーブル情報を一括で削除できます。 ※TRUNCATEはDMLではなくDDLなので、ロールバックできないのでご注意を!
ORACLEトップへ

ページトップへ

トピックアップ メニュー

トピックアップ リンク

Copyright (C) トピックアップ All Rights Reserved.
inserted by FC2 system