温馨提示×

Oracle中批量drop database的脚本实现

小樊
98
2024-07-13 03:10:23
栏目: 云计算

在Oracle中批量drop多个数据库的脚本实现可以分为两种方法,一种是使用循环逐个drop数据库,另一种是使用动态SQL语句一次性drop多个数据库。

方法一:使用循环逐个drop数据库

DECLARE
  CURSOR c_databases IS
    SELECT DISTINCT name
    FROM v$database;
BEGIN
  FOR db IN c_databases LOOP
    EXECUTE IMMEDIATE 'DROP DATABASE ' || db.name || ' INCLUDING DATAFILES';
  END LOOP;
END;
/

方法二:使用动态SQL语句一次性drop多个数据库

DECLARE
  v_sql VARCHAR2(4000);
BEGIN
  SELECT 'DROP DATABASE ' || listagg(name, ',') WITHIN GROUP (ORDER BY name) || ' INCLUDING DATAFILES'
    INTO v_sql
    FROM v$database;

  EXECUTE IMMEDIATE v_sql;
END;
/

注意:在执行drop数据库操作前,请务必备份好数据,避免数据丢失。

0