Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: PLS-00417: unable to resolve <string> as a column
how did you add the columns? if you used any other tool and created the
column in lower case,
you might get the problem
alter table emp add ("test" varchar2(10));
SQL> desc emp
Name Null? Type ----------------------------------------- -------- ------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) test VARCHAR2(10)
SQL> update emp set test = ename;
update emp set test = ename
*
ERROR at line 1:
ORA-00904: invalid column name
SQL> update emp set "test" = ename;
17 rows updated.
"Jim Poe" <jpoe_at_fulcrumit.com> wrote in message
news:9s1lpi$87d_at_dispatch.concentric.net...
> We have just added two columns, AP_DUE_DAYS and AP_DUE_BASE, to an
existing
> table. I have a Delphi application that has explicit SQL to select,
update,
> and insert this table. I modified this SQL to add these two columns.
When
> I run my application and attempt to update the table I get the following
> error.
>
> AMS
> --------------------------------------------------------------------------
-
> FIT Server Error
> Changes canceled
>
> ORA-06550: line 31, column 53:
> PLS-00417: unable to resolve "AP_DUE_BASE" as a column
> ORA-06550: line 28, column 1:
> PL/SQL: SQL Statement ignored
> --------------------------------------------------------------------------
-
>
> In OracleMonitor, this is the SQL sent to the database:
>
> BEGIN
> UPDATE PDCR SET RETAIL_TYPE=:RETAIL_TYPE,
> CTSY_TYPE=:CTSY_TYPE,
> CSIG_TYPE=:CSIG_TYPE,
> WHSL_TYPE=:WHSL_TYPE,
> PROSP_TYPE=:PROSP_TYPE,
> CMPT=:CMPT,
> PDCR_TERR_ID=:PDCR_TERR_ID,
> AGR_SEND_DT=:AGR_SEND_DT,
> AGR_RECV_DT=:AGR_RECV_DT,
> MERGE_TO_ID=:MERGE_TO_ID,
> MERGE_DT=:MERGE_DT,
> CTSY_FEE_FLAT=:CTSY_FEE_FLAT,
> CTSY_FEE_RATE=:CTSY_FEE_RATE,
> CSIG_FEE_FLAT=:CSIG_FEE_FLAT,
> CSIG_FEE_RATE=:CSIG_FEE_RATE,
> STATUS=:STATUS,
> AWC_STATUS=:AWC_STATUS,
> AND_STATUS=:AND_STATUS,
> INACTIVE_STATUS=:INACTIVE_STATUS,
> RAH_STATUS=:RAH_STATUS,
> RCO_STATUS=:RCO_STATUS,
> RDR_STATUS=:RDR_STATUS,
> RRO_STATUS=:RRO_STATUS,
> RML_STATUS=:RML_STATUS
> WHERE PDCR_ID=:PDCR_ID;
>
> UPDATE OFFICE SET NAME=:NAME, NAME_LEGAL=:NAME_LEGAL,
> ALPHA_CD=:ALPHA_CD, GRP_ID=:GRP_ID,
> WEB_URL=:WEB_URL, NOTE=EMPTY_CLOB(),
> HQ=:HQ, AP_DUE_DAYS=:AP_DUE_DAYS,
AP_DUE_BASE=:AP_DUE_BASE
> WHERE OFFICE_ID=:OFFICE_ID
> RETURNING NOTE INTO :NOTE;
> END;
>
>
> The same application selects the column without complaint. The column
> exists in the OFFICE table. The column and bind variable is spelled
> correctly. If I remove AP_DUE_BASE from the update, it works correctly,
> even with the other new column, AP_DUE_DAYS. AP_DUE_BASE is CHAR(1).
>
> I am stumped.
>
> Thanks for any help.
>
> --
> Jim Poe (jpoe_at_fulcrumit.com)
>
>
>
Received on Sat Nov 03 2001 - 15:30:57 CST