oracle关于批量修改表空间的方法

单独修改表空间的语句:

alter table 表名 move tablespace PMS_TB

批量修改的语句:

DECLARE

  i_count INT := 0;
  CURSOR c_mysql IS
    SELECT 'alter table ' || table_name || ' move tablespace PMS_TB' mysql
      FROM user_tables
     WHERE tablespace_name = 'SCF_TB' ;
BEGIN
  FOR r_mysql IN c_mysql LOOP
    DBMS_OUTPUT.put_line(r_mysql.mysql);
    EXECUTE IMMEDIATE r_mysql.mysql;
    i_count := i_count + 1;
  END LOOP;
  DBMS_OUTPUT.put_line('i_count: ' || i_count);
END;

你可能感兴趣的:(oracle)