Oracle11g 列存在,但仍收到此错误ORA-00904:标识符无效

Oracle11g 列存在,但仍收到此错误ORA-00904:标识符无效,oracle11g,ora-00904,Oracle11g,Ora 00904,任何人都可以帮我解决这个问题 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

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

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.days:invalid identifier”。我已经检查了“stream\u category\u version”的表定义,并找到了如下所示的Daylay列

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
然后我对这个错误感到困惑。有人能帮我吗


提前谢谢

简而言之,Oracle区分大小写

。。。可能在创建表的过程中,列被键入大写引号,如下所示:

"DAYTIME"
= r_scv.DAYTIME
在您的sql中,我看到这个列是小写的

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

另一个选项是这样调用此列:

"DAYTIME"
= r_scv.DAYTIME