各位大虾帮帮忙,我的用户是建在我的表空间的,但由于导入数据原表不在这个空间,导入后表也不在我想要的空间中,所以我需要更改表的表空间,怎么能批量改这些表的表空间。谢谢~
用命令行形可以先查出需改的表,再执行可以一次完成。我想用sql语句直接批量执行。
alter table (select table_name from user_user_tables) move tablespace space_name.
不通过。

解决方案 »

  1.   

    so ,必须用简单的技巧来执行。 
    sql>spool on
    sql>spool c:\a.txt;
    sql> select 'alter table '|| table_name ||' mobe tablespace space_name '  from user_user_Tables 
    sql>spool off
    然后把a.txt总的有效内容拷贝过去执行即可。
      

  2.   

    谢谢,我刚开始也是用select 'alter table '|| table_name ||' move tablespace space_name; '  from user_Tables 后将表中的内容拷出来后用命令窗口执行的。
    我想的是有没有直接在SQL窗口中执行的语句。
      

  3.   

    命令,我想是没有的。oracle本身有大量的包,倒是可以看看是否有写好的pro,没有的话,你不妨写个,给大伙用用。~|~