すべてのテーブルを削除するPL/SQLの方法は何ですか?

PL/SQLにおいて、すべてのテーブルを削除する方法は、動的SQLを使用してDROP TABLE文を実行することです。以下はサンプルコードです:

DECLARE

v_sql VARCHAR2(100);

BEGIN

FOR t IN (SELECT table_name FROM user_tables) LOOP

v_sql := ‘DROP TABLE ‘ || t.table_name;

EXECUTE IMMEDIATE v_sql;

END LOOP;

END;

/


このコードは、CURSORを使用してすべてのユーザーテーブルをループし、EXECUTE IMMEDIATEステートメントを使用して動的SQLを実行して各テーブルを削除します。この例では、現在のユーザーが削除するユーザーであると仮定していますが、他のユーザーのテーブルを削除する場合はクエリを変更する必要があります。このコードを実行するとすべてのテーブルが永久に削除されますので、注意して使用してください。

bannerAds