为何动态创建要加引号,增加麻烦!execute immediate 'create or replace table table_name(....)';

解决方案 »

  1.   

    表不是我建的,是数据采集的人搞的,可能来自SQL-Server
      

  2.   

    你的表名是"Test"  ,而不是Test
    这,只能知道具体的表才能查到呀
      

  3.   

    什么叫加引号而已?所有的表名都从all_objects中取得,我怎么知道那个要加引号,那个不加啊!!
      

  4.   

    你处理的有问题。
    就算是动态建表你只要不加引号,oracle就会默认为大写的。
      

  5.   

    已经解决了!jiezhi(西域浪子) ( ) 
    你用如下语句建表,看看还是不是自动转为大写Create table "test" (aa varchar2(10);
      

  6.   

    解决办法可以这样做:SQL> select * from cat where table_name=upper('newsindex');TABLE_NAME                     TABLE_TYPE
    ------------------------------ -----------
    NEWSINDEX                      TABLE当你不确定那个表是大小写时,可以用upper()函数
      

  7.   

    proton(落花有意,流水无情) :
    请看清楚我的回复再说话.
      

  8.   

    为什么要Create table "Test" (---); 这样建表
    真是给自己添麻烦
      

  9.   

    在PL/SQL程序块中或者SQL Plus中如果要引用大小写的表必须加上引号
    Select * from "表名"
    因为在Oracle中如果不加引号Oracle会转化为大写