这个表可能不是你通过sqlplus创建的, 或者创建时用了: create table "Table1" as ,此时表名是区分大小写的. 而一般情况下是不区分大小写.
SQL语句里的表名不用加“”吧 select * from dual表示关注
如果是8i 给你个建议spool一个文件查询是 select 'rename '|| tname ||' to ' ||upper(tname) ||';' from tab where tabtype = 'TABLE';然后执行这个文件(看看这个文件内容做个简单修改就可以了,如果你知道怎么设置sqlplus显示格式就更方便了)
请把下面内容存成文本文件,假设为 c:\create.txt set head off; set echo off; set term off; set line 200; set pages 0; set feed off; set verify off; spool c:\rename.sql;select 'rename '|| tname ||' to ' ||upper(tname) ||' ;' from tab where tabtype = 'TABLE';spool off; @c:\rename.sql; set heading on; set term on; set line 80; set pages 24; set feed on; set echo on; set verify on;把这些内存保存成 c:\create.txt 然后在sqlplus中输入 @c:\create.txt;然后一切都ok了 :)
这个表可能不是你通过sqlplus创建的,
或者创建时用了: create table "Table1" as ,此时表名是区分大小写的.
而一般情况下是不区分大小写.
select * from dual表示关注
给你个建议spool一个文件查询是 select 'rename '|| tname ||' to ' ||upper(tname) ||';'
from tab where tabtype = 'TABLE';然后执行这个文件(看看这个文件内容做个简单修改就可以了,如果你知道怎么设置sqlplus显示格式就更方便了)
set head off;
set echo off;
set term off;
set line 200;
set pages 0;
set feed off;
set verify off;
spool c:\rename.sql;select 'rename '|| tname ||' to ' ||upper(tname) ||' ;'
from tab where tabtype = 'TABLE';spool off;
@c:\rename.sql;
set heading on;
set term on;
set line 80;
set pages 24;
set feed on;
set echo on;
set verify on;把这些内存保存成 c:\create.txt
然后在sqlplus中输入
@c:\create.txt;然后一切都ok了 :)
很想用您的方法可我用的是Oracle 8.0.5。
在Oracle中如果建表时用了“"”以后要用到这个表时也要用“"”并且要区分大小写,如果建表时没用“"”那Oracle忽略大小写并自动全部改成大写。
谢谢大家的指点。
虽然biti_rainy(biti_rainy)兄说的也对,但就本问题而言还是jlandzpa(jlandzpa)兄说的最正确。我把分给jlandzpa(jlandzpa)兄了。