你去SQLPLUS里面执行不会这样的

解决方案 »

  1.   

    是否移值过来吧,要把它改成大写,ORAClE只认大写
      

  2.   


    这个表可能不是你通过sqlplus创建的,
    或者创建时用了: create table "Table1" as ,此时表名是区分大小写的.
    而一般情况下是不区分大小写.
      

  3.   

    SQL语句里的表名不用加“”吧
    select * from dual表示关注
      

  4.   

    如果是8i
    给你个建议spool一个文件查询是 select 'rename '|| tname ||'  to  ' ||upper(tname) ||';'
           from tab where tabtype = 'TABLE';然后执行这个文件(看看这个文件内容做个简单修改就可以了,如果你知道怎么设置sqlplus显示格式就更方便了)
      

  5.   

    请把下面内容存成文本文件,假设为 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了 :)
      

  6.   

    oracle的数据字典里所有元素都用大写,你在命令行里输入的sql 语句会自动全部转为大写,除非你用""括起来的名称,所以往往从其他数据库里转换来的东东都会不好用,就是这个原因,建设在移植之前先全部转为大写,这样就会比较少麻烦
      

  7.   

    不敢不敢, biti_rainy(biti_rainy) 大哥!
      

  8.   

    to: biti_rainy(biti_rainy) 
    很想用您的方法可我用的是Oracle 8.0.5。
      

  9.   

    这个问题我已经明白了,jlandzpa(jlandzpa)兄说的对。
    在Oracle中如果建表时用了“"”以后要用到这个表时也要用“"”并且要区分大小写,如果建表时没用“"”那Oracle忽略大小写并自动全部改成大写。
    谢谢大家的指点。
    虽然biti_rainy(biti_rainy)兄说的也对,但就本问题而言还是jlandzpa(jlandzpa)兄说的最正确。我把分给jlandzpa(jlandzpa)兄了。