SQL> create table "tb2" (aaa number);表已创建。已用时间:  00: 00: 01.63
SQL> select TABLE_NAME from user_tables where TABLE_NAME<>upper(table_name);TABLE_NAME
------------------------------
tb2已用时间:  00: 00: 00.20
SQL> spool c:\rename.sql
SQL> select 'rename "'||table_name||'" to '||table_name||';' from user_tables where TABLE_NAME<>uppe
r(table_name);'RENAME"'||TABLE_NAME||'"TO'||TABLE_NAME||';'
--------------------------------------------------------------------------
rename "tb2" to tb2;已用时间:  00: 00: 00.30
SQL> spool off;
SQL> @c:\rename.sql
SP2-0734: 未知的命令开头 "SQL> selec..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "'RENAME"'|..." - 忽略了剩余的行。表已重命名。已用时间:  00: 00: 00.80
SP2-0734: 未知的命令开头 "已用时间: ..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "SQL> spool..." - 忽略了剩余的行。
SQL> select TABLE_NAME from user_tables where TABLE_NAME<>upper(table_name);未选定行已用时间:  00: 00: 00.10
SQL> desc tb2
 名称                                      空?      类型
 ----------------------------------------- -------- ----------------------------
 AAA                                                NUMBERSQL>

解决方案 »

  1.   

    上面的例子,是通过编写批处理文件
    批量执行rename tbnameold to tbnamenew;来实现的。
      

  2.   

    c:\rename.sql 是什么东东,自己编写的批处理文件?
    我如何得到
      

  3.   

    是的SQL> spool c:\rename.sql --利用spool 生成 rename.sql 文件
    --下面语句是 将要生成 文件的内容
    SQL> select 'rename "'||table_name||'" to '||table_name||';' from user_tables where TABLE_NAME<>uppe
    r(table_name);'RENAME"'||TABLE_NAME||'"TO'||TABLE_NAME||';'
    --------------------------------------------------------------------------
    rename "tb2" to tb2;已用时间:  00: 00: 00.30
    SQL> spool off; --spool 结束!文件已经生成了SQL> @c:\rename.sql  --调用这个文件
    ...
    OK!