我有一个表,用任何工具都可以创建的那种
查询的时候普通的 select * 没有问题
然后我加上别名,就出问题比如:
    select * from JT_USERMANAGER 这样一点问题没有    select t.user_id from JT_USERMANAGER t 这样就报标示符无效
    select user_id from JT_USERMANAGER 这样也报标示符无效只有这样 select t."user_id" from JT_USERMANAGER t就这么个表,但是别的表就没事!!!!!什么问题呢?我就纳闷了

解决方案 »

  1.   

    在创建的时候,该列是小写,且加了双引号:"user_id"
    这样你在select也必须使用"user_id"
    如果不加双引号则oracle把它转化为大写,在表中找不到该列
      

  2.   

    既然报错,提问题把报错信息帖上!select t.user_id from "JT_USERMANAGER" t这样试试!
      

  3.   

    应该是建表的时候把这列建成小写的了,select * from user_tab_cols t where t.table_name = 'JT_USERMANAGER';看看
      

  4.   


    你建表的时候,那字段加了双引号,所以需要引用时加双引号
    create table t("id" varchar2(10));
    SQL> select * from t;  --正确
     
    id
    ----------
    SQL> select id from t;  --报错,无效定义
     
    select id from t
     
    ORA-00904: "ID": invalid identifier
    SQL> select "id" from t;  --正确
     
    id
    ----------
     
    SQL>