【问题标题】:Column exists but still get this error ORA-00904: invalid identifier列存在但仍然收到此错误 ORA-00904: invalid identifier
【发布时间】:2014-07-23 09:28:17
【问题描述】:

任何人都可以帮助我解决这个问题

declare 

    lv2_sql VARCHAR2(32767);

    cursor c_scv is
    select financial_code, object_id, daytime from stream_category_version;

begin

for r_scv in c_scv LOOP

  IF r_scv.financial_code = 'PURCHASE' THEN

   lv2_sql := 'UPDATE stream_category_version ' || CHR(10) || 
   'set REVN_PURCHASES_IND = ''Y'', last_updated_by = nvl(last_updated_by, created_by) '  || CHR(10) || 
   'WHERE object_id = r_scv.object_id AND daytime = r_scv.daytime';
   ecdp_dynsql.execute_statement(lv2_sql);   

  ELSIF r_scv.financial_code = 'SALE' THEN

   lv2_sql := 'UPDATE stream_category_version ' || CHR(10) || 
   'set REVN_SALES_IND = ''Y'', last_updated_by = nvl(last_updated_by, created_by) '  || CHR(10) || 
   'WHERE object_id = r_scv.object_id AND daytime = r_scv.daytime';
   ecdp_dynsql.execute_statement(lv2_sql);  


  END IF;

END LOOP; 

end;

我有如上所示的代码,但我收到错误消息“ORA-00904: R_SCV.DAYTIME: invalid identifier”。我检查了 'stream_category_version' 的表定义并找到了 DAYTIME 列,如下所示

SQL> desc stream_category_version
Name               Type           Nullable Default Comments 
------------------ -------------- -------- ------- -------- 
OBJECT_ID          VARCHAR2(32)                             
DAYTIME            DATE                                     
END_DATE           DATE           Y                         
NAME               VARCHAR2(240)  Y                          
FINANCIAL_CODE     VARCHAR2(32)   Y                         
SORT_ORDER         NUMBER         Y                         
COMMENTS           VARCHAR2(2000) Y

然后我对错误感到困惑。任何人都可以帮助我吗?

提前致谢。

【问题讨论】:

    标签: oracle11g ora-00904


    【解决方案1】:

    简而言之 - Oracle 区分大小写...

    ... 可能在表创建期间列在引号中输入了大写:

    "DAYTIME"
    

    在你的 sql 中我看到这个列是小写的

    所以您应该验证您的列名,最好将其更改为不带引号的版本。

    其他选项是这样调用此列:

    = r_scv.DAYTIME
    

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 2022-01-04
      相关资源
      最近更新 更多