在PL/SQL中删除所有表的方法是通过使用动态SQL来执行DROP TABLE语句。以下是一个示例代码:
DECLAREv_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;
/
这段代码使用一个游标循环遍历所有用户表,并使用EXECUTE IMMEDIATE语句执行动态SQL来删除每个表。在这个例子中,假设当前用户是要删除表的用户,如果要删除其他用户的表,需要修改查询语句。请注意,执行此代码将永久删除所有表,请谨慎使用。