說明:一般來說要修改表的表空間需要同時修改表的表空間和其對應的索引表空間,並且在修改含有BOLB字段的表的表空間時又不一樣,具體請參考末尾的鏈接
思路:拼湊一個滿足條件的批處理查詢語句,將查詢的結果復制出來作為批處理語句執行。具體步驟如下:
1、寫查詢
--查詢某個用戶下的表,並生成一個修改其命名空間的批處理語句 select 'alter table '|| table_name ||' move tablespace 要遷入的表空間;' from dba_tables t where t.owner='要遷出的表歸屬的用戶名';
補充:
--查詢當前庫下所有的表 SELECT * FROM DBA_TABLES --可以加入篩選條件 SELECT * FROM DBA_TABLES WHERE TABLE_NAME LIKE 'EM_%' SELECT * FROM DBA_TABLES WHERE OWNER='某個用戶名'; --查詢用戶表 SELECT * FROM USER_TABLES
2、執行查詢結果,得到一個批處理語句,截圖如下:
3、復制出查詢結果,批處理執行
參考網站(請關注):ORACLE修改用戶表所屬表空間的步驟