ORA-00900: invalid SQL statement error in procedure

In procedure we referring only 2 tables
Tables:
1)     Edw_orders_ref
2)     Change_pl
Condisition:
1)     whenever edw_orders_ref.product=change_pl.product and edw_orders_ref.opt=change_pl.opt condisition satisfied then update edw_orders_ref.pl with change_pl.pl column.
2)     we pass table name and day values as arguments to the procedure.
3)     Based on day column data only we update.
4)     Heir day column means partisition values of the table
Procedure is:
create or replace procedure Proc_update_target(P_Day varchar2,p_tablename nvarchar2)
as
TYPE PlCurTyp IS REF CURSOR;
Pl_cv PlCurTyp;
--emp_rec  edw_orders_ref%ROWTYPE;
pl_rec Edw_orders_ref.pl%type;
product_rec Edw_orders_ref.product%type;
opt_rec Edw_orders_ref.opt%type;
sql_stmt varchar(3200);
n number:=0;
BEGIN
sql_stmt := 'select lpl.opt,lpl.product,lpl.pl from minddba.change_pl lpl
where exists ( select 1 from '|| p_tablename ||' where '||p_tablename||'.product=lpl.product and '||p_tablename||'.opt=lpl.opt
and '||p_tablename||'.day='||P_Day||' )';
dbms_output.put_line('hi');
OPEN pl_cv FOR sql_stmt ;
LOOP
dbms_output.put_line('hello1');
FETCH Pl_cv INTO pl_rec,product_rec,opt_rec;
EXIT WHEN Pl_cv%NOTFOUND;
dbms_output.put_line('hello');
execute immediate
'update '||p_tablename||' set pl=:rpl
where product=:rproduct
and opt=:ropt
AND day=:day' using pl_rec, product_rec,opt_rec,P_Day;
if Pl_cv%rowcount=10000 then
commit;
end if;
END LOOP;
CLOSE pl_cv;
commit;
exception
when others then
dbms_output.put_line('Error while updating target pl:'||SQLERRM);
end;
it is compile nad debug.
but execution time this error was coming
exec Proc_update_target('20110226','edw_orders_ref')
hi
hello1
hello
Error while updating target pl:ORA-00900: invalid SQL statement
i think in that procedure updata statement is wrong,if any one corect them.

Hi,
This are details of table structure and my requirement for that procedure
CREATE TABLE EDW_ORDERS_REF
SO_ID VARCHAR2(20 BYTE) NOT NULL,
SRC_SYS_KY NUMBER(19) NOT NULL,
DAY VARCHAR2(8 BYTE) NOT NULL,
FIN_CLOSE_DT VARCHAR2(8 BYTE) NOT NULL,
SO_LN_ITM_ID VARCHAR2(12 BYTE) NOT NULL,
EXT_EFF_TS VARCHAR2(26 BYTE) NOT NULL,
EFF_FRM_GMT_TS VARCHAR2(26 BYTE) NOT NULL,
CONTRA_FG VARCHAR2(1 BYTE) NOT NULL,
FDW_TRAN_TYPE_CD VARCHAR2(1 BYTE) NOT NULL,
SO4 VARCHAR2(4 BYTE),
SO2 VARCHAR2(2 BYTE),
PUR_AGMT VARCHAR2(20 BYTE),
SF VARCHAR2(6 BYTE),
V_BOX VARCHAR2(18 BYTE),
PL VARCHAR2(30 BYTE),
MCC_CD VARCHAR2(20 BYTE),
OPT VARCHAR2(18 BYTE),
ORDER_UNITS NUMBER(15,3),
SO_OPT_QTY NUMBER(10,3),
SO_DTL_EXT_QT NUMBER(15,3),
ORDER_LIST_LCY NUMBER(18,4),
ORDER_NET_LCY NUMBER(18,4),
ORDER_NET_CLC NUMBER(18,4),
ORDER_LIST_CLC NUMBER(18,4),
CURRENCY_CD VARCHAR2(2 BYTE),
SLS_CHNL_CD VARCHAR2(1 BYTE),
CBN VARCHAR2(20 BYTE),
GEOG_UNIT VARCHAR2(30 BYTE),
PRODUCT VARCHAR2(18 BYTE),
ORDER_NR VARCHAR2(20 BYTE),
ORDER_LINE_NR VARCHAR2(12 BYTE),
LOAD_DT DATE DEFAULT SYSDATE
CREATE TABLE MINDDBA.CHANGE_PL
PRODUCT VARCHAR2(18 BYTE) NOT NULL,
OPT VARCHAR2(3 BYTE) NOT NULL,
PL VARCHAR2(2 BYTE) NOT NULL
1)     whenever edw_orders_ref.product=change_pl.product and edw_orders_ref.opt=change_pl.opt condisition satisfied then update edw_orders_ref.pl with change_pl.pl column.
2)     we pass table name and day values as arguments to the procedure.
3)     Based on day column data only we update.
4)     Heir day column means partisition values of the table
When executing this one I got one error like
exec Proc_update_target('20110226','edw_orders_ref');
hi
hello1
hello
ORA-00900: invalid SQL statement

Similar Messages

  • ORA-00900: invalid SQL statement Error while Executing Procedure

    Hi:
    I am trying to execute following procedure through java code, but i am getting ORA-00900: invalid SQL statement error.
    Procedure is :
    <code>
    (vResult out int)
    as
    vCardId varchar2(16);
    vForacid varchar2(16);
    vApp_Entry_No varchar2(10);
    vSrNo number(6);
    vCardStatus char(1);
    vCardStat char(2);
    vExpiryDate date;
    Cursor cardCur1 is
    select u.card_number,trim(u.ACCOUNT_NUMBER),u.CARD_STATUS,to_char(u.EXPIRY_DATE,'dd-MM-yyyy')
    FROM DailyCardData u
    where default_indicator='1'
    and isprocessed = 'N'
    order by expiry_date;
    begin
    vSrNo := 0;
    vResult := 0;
    open cardCur1;
    Loop
    fetch cardCur1 into vCardId,vForacid,vCardStat,vExpiryDate;
    if cardCur1%NOTFOUND then
    exit;
    end if;
    if (vCardStat != null) then
    vCardStatus := 'H';
    elsif (vExpiryDate <= sysdate) then
    vCardStatus := 'E';
    else
    vCardStatus := null;
    end if;
    select a.app_entry_no into vApp_Entry_No from Application a,ApplicationLinkedAccounts l
    where l.foracid = vForacid and l.AcSrNo = '1'
    and a.app_entry_no = l.app_entry_no
    and a.cardid is null
    and a.DOWNLOADFILECREATIONFLAG = 'Y';
    update Application set CardId = vCardId,
    Card_Status = vCardStatus,APPLICATIONPROCESSEDFLAG = 'Y',
    APPLICATIONPROCESSEDdate = DOWNLOADFILECREATIONdate
    where App_Entry_No = vApp_Entry_No;
    commit;
    update DailyCardData set isprocessed = 'Y',app_entry_no = vApp_Entry_No
    where card_number = vCardId;
    commit;
    end Loop;
    close cardCur1;
    vResult := 1;
    end;
    </code>
    Can any body help me in that?
    Thank You,
    Anup

    First of all I don't see a procedure header.
    Secondly I see you commit inside your procedure. This is a bug.
    Thirdly I see you also commit inside a loop. This is also a bug, and needs to be removed asap.
    The error indicates a statement doesn't parse. As you don't post the error stack, nor a table definition no one can reproduce the problem.
    You need to isolate the statements, one by one, and run them through sql*plus to see what happens.
    Sybrand Bakker
    Senior Oracle DBA

  • I am getting "ORA-00900: invalid SQL statement"  error.?

    I did installed oracle 11gR2. and used "DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','TBL_A','TBL_A','USER1','USER2')"   to see the result like below,  but I am getting "ORA-00900: invalid SQL statement"  error.   Any idea?
    I am using:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> desc user1.tbl_a
    Name                                      Null?    Type
    FIELD_A1                                  NOT NULL NUMBER
    FIELD_A2                                           VARCHAR2(20)
    FIELD_A4                                  NOT NULL NUMBER(5,2)
    FIELD_A5                                           VARCHAR2(10)
    FIELD_A6                                  NOT NULL NUMBER(2)
    SQL> desc user2.tbl_a
    Name                                      Null?    Type
    FIELD_A1                                  NOT NULL NUMBER
    FIELD_A2                                           VARCHAR2(50)
    FIELD_A3                                           DATE
    FIELD_A4                                           NUMBER(5,2)
    FIELD_A5                                  NOT NULL VARCHAR2(10)
    SQL> select dbms_metadata_diff.compare_alter('TABLE','TBL_A','TBL_A','USER1','USER2') from dual
    expected result:
    DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','TBL_A','TBL_A','U1','U2')
    ALTER TABLE "U1"."TBL_A" ADD ("FIELD_A3" DATE)
      ALTER TABLE "U1"."TBL_A" DROP ("FIELD_A6")
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A2" VARCHAR2(50))
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A4" NUMBER(5,2) DEFAULT 0)
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A4" NULL)
      ALTER TABLE "U1"."TBL_A" MODIFY ("FIELD_A5" NOT NULL ENABLE)

    Thanks for reply rp,
    I got result using "select dbms_metadata_diff.compare_alter('TABLE','TBL_A','TBL_A','USER1','USER2') from dual"

  • ORA-00900: invalid SQL statement error while running jobs in APEX 4.2

    Hi,
    the following procedure compiled successfully in Apex 4.2:
    create or replace procedure "DEVLOE" AS
    L_TEMPLATE VARCHAR2(32000);
    L_base_TEMPLATE VARCHAR2(32000);
    begin
    l_base_template := '<html>
    <head>
    <title>HTML Editor Sample Page</title>
    </head>
    <body>
    <p>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span class="plsql-literal" style="line-height: 14.65625px; white-space: nowrap;">Hi #Contact#,</span></span></span></p>
    <p>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span class="plsql-literal" style="line-height: 14.65625px; white-space: nowrap;">This is a notification message to inform you that <strong>Development </strong>effort </span><span class="plsql-literal" style="line-height: 14.65625px; white-space: nowrap;">and milestones are yet to be updated for ECR: </span><span class="plsql-operator" style="line-height: 14.65625px; white-space: nowrap;"></span><span class="plsql-word" style="line-height: 14.65625px; white-space: nowrap;">#ECR_NAME#. This ECR has priority #p#. </span></span></span></p>
    <table align="center" border="1" cellpadding="1" cellspacing="1" style="width: 500px;">
    <tbody>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="color: rgb(255, 0, 0);"><span style="font-family: verdana, geneva, sans-serif;"><u><strong>Department</strong></u></span></span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span style="color: rgb(255, 0, 0);"><u><strong><span style="background-color: rgb(255, 255, 255);">Contact Name</span></strong></u></span></span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">Product Management Contact</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#pdm#</span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">PMO Contact</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#PMO#</span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">Dev Contact</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#Dev#</span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">QA Contact</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#QA#</span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">Infodev Contact</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#Info#</span></span></td>
    </tr>
    </tbody>
    </table>
    <p>
     </p>
    <span fckbookmark="1" style="display: none;"> </span><span fckbookmark="1" style="display: none;"> </span>
    <table align="center" border="1" cellpadding="1" cellspacing="1" style="width: 500px;">
    <tbody>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span style="color: rgb(0, 0, 255);">Team</span></span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span style="color: rgb(0, 0, 255);">Start Date</span></span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span style="color: rgb(0, 0, 255);">End Date</span></span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;"><span style="color: rgb(0, 0, 255);">Effort(in person days)</span></span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">Development</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#d1#</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#e1#</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#L1#</span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">Quality Assurance</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#d2#</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#e2#</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#L2#</span></span></td>
    </tr>
    <tr>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">Information Development</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#d3#</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#e3#</span></span></td>
    <td>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">#L3#</span></span></td>
    </tr>
    </tbody>
    </table>
    <p>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">The ECR application is located</span> at </span>: https://apex.oraclecorp.com/pls/apex/f?p=1472:1<span fckbookmark="1" style="display: none;"> </span></p>
    <span fckbookmark="1" style="display: none;"> </span>
    <p>
    <span style="font-family: verdana, geneva, sans-serif; font-size: 14px;">Regards,</span></p>
    <p>
     </p>
    <p>
    <span style="font-size:14px;"><span style="font-family: verdana, geneva, sans-serif;">ECR Team</span></span></p>
    </body>
    </html>
    FOR c1 IN (select ECR_NAME,PMO_CONTACT, QE_LOE,INFODEV_LOE, DEV_START_DATE, DEV_END_DATE, QE_CONTACT,QE_START_DATE,INFODEV_START_DATE,INFODEV_END_DATE, QE_END_DATE, INFODEV_CONTACT, PDM_CONTACT, DEV_LOE,ECR_PRIORITY, DEV_CONTACT from ECR_NAME WHERE DEV_LOE IS NULL AND ECR_STATUS = 'Effort Estimation is in Progress' AND ECR_PRIORITY <=5)
    LOOP
    l_template := l_base_template;
    l_template:= replace(l_template, '#Contact#', c1.DEV_CONTACT);
    l_template:= replace(l_template, '#ECR_NAME#', c1.ECR_NAME);
    l_template:= replace(l_template, '#p#', c1.ECR_PRIORITY);
    l_template:= replace(l_template, '#PMO#', c1.PMO_CONTACT);
    l_template:= replace(l_template, '#pdm#', c1.PDM_CONTACT);
    l_template:= replace(l_template, '#Dev#', c1.DEV_CONTACT);
    l_template:= replace(l_template, '#QA#', c1.QE_CONTACT);
    l_template:= replace(l_template, '#Info#', c1.INFODEV_CONTACT);
    l_template:= replace(l_template, '#d1#', c1.DEV_START_DATE);
    l_template:= replace(l_template, '#L1#', c1.DEV_LOE);
    l_template:= replace(l_template, '#e1#', c1.DEV_END_DATE);
    l_template:= replace(l_template, '#d2#', c1.QE_START_DATE);
    l_template:= replace(l_template, '#L2#', c1.QE_LOE);
    l_template:= replace(l_template, '#e2#', c1.QE_END_DATE);
    l_template:= replace(l_template, '#d3#', c1.INFODEV_START_DATE);
    l_template:= replace(l_template, '#L3#', c1.INFODEV_LOE);
    l_template:= replace(l_template, '#e3#', c1.INFODEV_END_DATE);
    htmldb_mail.Send(p_to => '[email protected]',
    p_cc => '[email protected]',
    p_from => '[email protected]',
    p_body => l_template,
    p_body_html => l_template,
    p_subj => 'cxxxx:' ||c1.ECR_NAME );
    END LOOP;
    end;
    the when I ran:
    begin
    devloe();
    end;
    I received the mail as well.
    However, when I try to schedule this in the job:
    declare
    JobNo user_jobs.job%TYPE;
    begin
    dbms_job.submit(JobNo, 'BEGIN
    DEVLOE();
    END;', sysdate, 'sysdate + 1/24/60'); commit; end;
    The job status shows failures every minute.
    dbms_job.run(job_no);
    It gave : ORA-00900: invalid SQL statement

    First of all I don't see a procedure header.
    Secondly I see you commit inside your procedure. This is a bug.
    Thirdly I see you also commit inside a loop. This is also a bug, and needs to be removed asap.
    The error indicates a statement doesn't parse. As you don't post the error stack, nor a table definition no one can reproduce the problem.
    You need to isolate the statements, one by one, and run them through sql*plus to see what happens.
    Sybrand Bakker
    Senior Oracle DBA

  • Executing Stored Procedure from TOAD: ORA-00900: invalid SQL statement

    Ok…I have ALL the stored procedures converted into Oracle…now, when I go to test them I am getting the vague error of:
    ORA-00900: invalid SQL statement
    I am attempting to execute:
    --EXEC IEXGetAgentSysPerf(to_date('2008/09/01', 'yyyy/mm/dd/'), to_date('2008/09/11', 'yyyy/mm/dd'), 'US HelpDesk');
    EXEC IEXGetAgentSysPerf('9/1/2008', '9/11/2008', 'US HelpDesk');
    (Neither work). These are calling a Stored Procedure with the following header:
         PROCEDURE IEXGetAgentSysPerf (
              v_curparm_IEXGetAgentSysPerf     IN OUT      pkg_IEX.cur_IEXGetAgentSysPerf
              ,v_BDateTime     DATE
              ,v_EDateTime     DATE
              ,v_WorkGroup     VARCHAR2
    The IDE is “TOAD” for Oracle. Thanks in advance.

    Hi,
    This is your procedure
    PROCEDURE IEXGetAgentSysPerf (
    v_curparm_IEXGetAgentSysPerf IN OUT pkg_IEX.cur_IEXGetAgentSysPerf
    ,v_BDateTime DATE
    ,v_EDateTime DATE
    ,v_WorkGroup VARCHAR2
    you are providing the ,v_BDateTime DATE,v_EDateTime DATE and v_WorkGroup
    and how about "v_curparm_IEXGetAgentSysPerf ". So that procedures is returning the error.
    Adding the the earlier post, If you want to test the Stored Procedures... then I say you work on the PL/SQL
    Developer which good for debugging (easy to use...) When compare to TOAD.. :-)
    Test ..it there...
    - Pavan Kumar N

  • Sql error ORA-00900: invalid SQL statement

    Hi All
    I am new to sql and i try to solve this issue i have here.
    where i run this query (1) i get this message : ORA-00900: invalid SQL statement
    Query : 1
    WITH t1
    AS (SELECT CID ,
    TYPE,
    TO_CHAR (
    TO_DATE ('00:00:00', 'HH24:MI:SS')
    + (lg_end_time - lg_start_time),
    'HH24:MI:SS') call_time,
    ROW_NUMBER ()
    OVER (PARTITION BY CID ORDER BY CID NULLS FIRST)
    AS call_id1
    FROM test_1
    SELECT SUM (call_time)
    FROM t1;
    output:
    i get error: ORA-01722: invalid number
    table structure:
    select * form test_1;
    CID            TYPE                      LG_END_TIME               LG_START_TIME
    1508643     Dispatching     2012/12/03 14:05     2012/12/03 14:02
    1508643     Treatment     2012/12/03 14:00      2012/12/03 14:00
    1508643     Initiation     2012/12/03 14:00     2012/12/03 14:00
    1508662     Dispatching     2012/12/03 14:18     2012/12/03 14:16
    1508662     Initiation     2012/12/03 14:01     2012/12/03 14:01
    1508662     Treatment     2012/12/03 14:02      2012/12/03 14:01
    1508643     Dispatching     2012/12/03 14:02     2012/12/03 14:00
    1508662     Dispatching     2012/12/03 14:16     2012/12/03 14:02
    thanks for all your help

    Hi All
    thanks for helping and giving your support. but the at this time question remains unanswered.
    with t1
    as (
    SELECT CID ,
                    TYPE,
                    TO_CHAR (
                         TO_DATE ('00:00:00', 'HH24:MI:SS')
                       + (lg_end_time - lg_start_time),
                       'HH24:MI:SS') call_time,
                    ROW_NUMBER ()
                       OVER (PARTITION BY CID ORDER BY CID NULLS FIRST)
                       AS call_id1
               FROM test_1
               select * from t1Output:
    CID             TYPE           CALL_TIME     CALL_ID1
    1508643     Dispatching     0:02:06     1
    1508643     Initiation     0:00:00     2
    1508643     Treatment     0:00:39     3
    1508643     Dispatching     0:02:50     4
    1508662     Treatment     0:01:03     1
    1508662     Initiation     0:00:00     2
    1508662     Dispatching     0:13:17     3
    1508662     Dispatching     0:02:43     4Desired results would be :
    group by CID and total time (summed) by each CID
    and it will also look like:
    CID             TYPE        CALL_TIME     CALL_ID1   total_time
    1508643     Dispatching     0:02:06     1
    1508643     Initiation     0:00:00     2
    1508643     Treatment     0:00:39     3
    1508643     Dispatching     0:02:50     4            
                                                                    0:05:35 
    1508662     Treatment     0:01:03     1
    1508662     Initiation     0:00:00     2
    1508662     Dispatching     0:13:17     3
    1508662     Dispatching     0:02:43     4      
                                                                    0:17:03
    Create table :
    CREATE TABLE TEST_1
    ( CID            NUMBER                         NOT NULL,
      TYPE           VARCHAR2(20 BYTE)              NOT NULL,
      LG_END_TIME    DATE                           NOT NULL,
      LG_START_TIME  DATE                           NOT NULL
    Insert statement:
        insert  into   test_1 VALUES (1508643,Dispatching,03-DEC-12,03-DEC-12);
        insert  into   test_1 VALUES (1508643,Treatment,03-DEC-12,03-DEC-12);
        insert  into  test_1 VALUES (1508643,Initiation,03-DEC-12,03-DEC-12);
        insert  into   test_1 VALUES (1508662,Dispatching,03-DEC-12,03-DEC-12);
        insert  into   test_1 VALUES (1508662,Initiation,03-DEC-12,03-DEC-12);
        insert  into   test_1 VALUES (1508662,Treatment,03-DEC-12,03-DEC-12);
        insert  into   test_1 VALUES (1508643,Dispatching,03-DEC-12,03-DEC-12);
        insert  into   test_1 VALUES (1508662,Dispatching,03-DEC-12,03-DEC-12);Edited by: 855161 on Jan 7, 2013 8:37 AM
    Edited by: 855161 on Jan 7, 2013 9:15 AM
    Edited by: 855161 on Jan 7, 2013 1:00 PM

  • Trying to produce report but have ERROR ORA-00900: invalid SQL statement

    Hi,
    I am new to Oracle so have been experimenting with a few things to get the hang of it. I have been trying to produce a report, but keep getting the error: ORA-00900: invalid SQL statement.
    This happens at my first line of code where I have COLUMN <column_name> HEADING <Heading_name>
    So I am a bit confused - is there a command that I am supposed to issue that indicates to SQL*Plus that I am trying to create a report?
    Also, if I just delete the COLUMN <column_name> HEADING <Heading_name> rows and just start at BREAK ON <column_name> SKIP 1, it produces the same error.
    I am using Oracle 8.0.6 - does this make a difference?
    Here is my code:
    COLUMN a.p_ctryid HEADING 'Country'
    COLUMN s.p_animid HEADING 'Stallion ID'
    COLUMN s.p_uname HEADING 'Stallion Name'
    COLUMN a.p_animid HEADING 'Horse ID'
    COLUMN d.p_careertp HEADING 'Career'
    BREAK ON s.p_animid SKIP 1
    BREAK ON d.p_careertp SKIP 2
    COMPUTE SUM LABEL 'Total' OF d.p_careertp ON REPORT
    SELECT DISTINCT a.p_ctryid, s.p_animid, s.p_uname, a.p_animid, d.p_careertp
    FROM p_owby.p_animal a, p_owby.p_animal s, p_owby.p_mating m, p_owby.p_anim_dtl d
    WHERE m.p_mateyr = 2001
    AND a.p_animid = d.p_animid
    AND a.p_animid = m.p_animid
    AND a.p_animid > 0
    AND s.p_animid = a.p_sire
    AND a.p_ctryid IN('GB','IRE')
    GROUP BY a.p_ctryid, s.p_animid, s.p_uname, d.p_careertp, a.p_animid
    ORDER BY a.p_ctryid, s.p_animid, d.p_careertp
    Any help would be greatly appreciated!
    Thanks in advance!

    You are trying to do COMPUTE SUM ... ON REPORT but there is no BREAK ON REPORT specified. The computed sum will not be shown unless you also break on report. see below demonstration. first select has no sum even though we have specified COMPUTE. The second select shows the sum since now we have done break on report.
    SQL> compute sum of sal on report
    SQL> select * from scott.emp order by empno ;
         EMPNO ENAME      JOB              MGR HIREDATE           SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 17-DEC-1980        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-1981       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-1981       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-1981       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-1981       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-1981       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-1981       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-1987       3000                    20
          7839 KING       PRESIDENT            17-NOV-1981       5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-1981       1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-1987       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-1981        950                    30
          7902 FORD       ANALYST         7566 03-DEC-1981       3000                    20
          7934 MILLER     CLERK           7782 23-JAN-1982       1300                    10
    14 rows selected.
    SQL> break on report
    SQL> select * from scott.emp order by empno ;
         EMPNO ENAME      JOB              MGR HIREDATE           SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 17-DEC-1980        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-1981       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-1981       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-1981       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-1981       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-1981       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-1981       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-1987       3000                    20
          7839 KING       PRESIDENT            17-NOV-1981       5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-1981       1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-1987       1100                    20
          7900 JAMES      CLERK           7698 03-DEC-1981        950                    30
          7902 FORD       ANALYST         7566 03-DEC-1981       3000                    20
          7934 MILLER     CLERK           7782 23-JAN-1982       1300                    10
    sum                                                         29025
    14 rows selected.
    SQL>

  • 00900 Invalid SQL Statement error

    I'm teaching myself to write stored procedures, working in TOAD 10.5 with Oracle 10g. I keep getting error ORA-00900: invalid SQL Statement. Here's the code, cut down to bare minimum sample size. I can't see where I'm doing anything wrong.
    If I cut out the cursor (taking it down to just "Begin" and "End"), it does run, but I can't see anything wrong with the cursor.
    Any ideas?
    CREATE OR REPLACE PROCEDURE IN_PROCESS_CASES_BOS
    IS
    V_HELLO VARCHAR2(10);
    CURSOR C_MAIN IS
    SELECT 'HELLO' FROM DUAL;
    BEGIN
    OPEN C_MAIN;
    LOOP
    FETCH C_MAIN INTO V_HELLO;
    EXIT WHEN C_MAIN%NOTFOUND;
    END LOOP;
    CLOSE C_MAIN;
    END;
    END IN_PROCESS_CASES_BOS;
    /

    Hi,
    You've got 2 END statements, but only 1 BEGIN.
    It helps a lot if you indent your code, so that every END is right below its correspoding BEGIN, and all the code in between them is indented. The same goes for IF and LOOP statements.
    When posting any formatted text on this site (not just code), type these 6 characters:
    \(small letters only, inside curly brackets) before and after each section of formatted text, to preserve spacing.
    Try this:CREATE OR REPLACE PROCEDURE IN_PROCESS_CASES_BOS
    IS
    V_HELLO VARCHAR2(10);
    CURSOR C_MAIN IS
    SELECT 'HELLO' FROM DUAL;
    BEGIN
    OPEN C_MAIN;
    LOOP
         FETCH C_MAIN INTO V_HELLO;
         EXIT WHEN C_MAIN%NOTFOUND;
    END LOOP;
    CLOSE C_MAIN;
    END;                Lose this line
    END IN_PROCESS_CASES_BOS;

  • Query cannot be parsed within the Builder ORA-00900: invalid SQL statement

    Why am I getting the error message "Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing. ORA-00900: invalid SQL statement"
    If I run the query in sqlplus it comes back with "no rows selected" which is what I want.
    The function is valid and the user has privileges to run it.
    Is there something I can do about it?
    If I only have any field instead of the function the error goes away.
    Can someone explain what is happening? I'm using 2.0.
    select
    F_TOTAL_AMOUNT_PAID('fees',a.acct_fee_id,0) "Fee Paid"
    from fee_component a, fee b, license c
    where a.acctfee_id = b.acctfee_id
    and b.license_id = c.license_id
    and b.fee_status = 'U'
    and c.client_id = :P301_CLIENT_ID
    Thanks I really appreciate any help I can get.

    Does your parsing schema have direct granted privileges to execute the function or privileges via a role? If it is through a role, you need to directly grant execute on the function to your parsing schema.
    Mike

  • Very Urgent: Apexlib error ora-00900 invalid sql statement

    Hi,
    If i'm opening a page where there are LOV I get the strange error in the debug mode. Has it perhaps anything to do with grants?
    pls help asap if you can
    Read report column mapping(ApexLib_TabForm.init)
    ...processing Interface execution selection
    ...ignore validation = NO
    Get column list(ApexLib_Sql.getColumnList)
    ...parse query = 獥汥捴 䥎呅剆䅃䕟䑁呅Ⰺ䥎呅剆䅃䕟䑁呅⁉乔䕒䙁䍅彄䅔䕟䑉卐䱁夬ੈ佒䥚低彂䰬੆䕐彂䰊晲潭⁆䕐彉乔䕒䙁䍅彃䅌䕎䑁刊睨敲攠楮瑥牦慣敟摡瑥整睥敮慳瑟摡礨慤摟浯湴桳⡴潟摡瑥⠺倱㥟捡汥湤慲彤慴攬❙奙奍䵄䐧⤬ⴱ⤩⬱⁁乄⁌慳瑟摡礨瑯彤慴攨㩐ㄹ彣慬敮摡牟摡瑥Ⱗ奙奙䵍䑄✩⤊潲摥爠批‱਀
    ORA-00900: invalid SQL statement

    Hi Irvine74,
    for ApexLib problems it's better to use the related SourceForge support forum at http://sourceforge.net/forum/?group_id=184339 , because I'm not always monitoring the OTN forum.
    Are you only getting the error in debug mode?
    Is your report query on that page a valid SQL statement?
    If you comment out the PL/SQL code with /* */ (don't forget to add a NULL; statement at the end to have a valid region) on page 0 "ApexLib - Before footer", are you now getting an error from APEX that the statement isn't valid?
    Patrick
    My APEX Blog: http://inside-apex.blogspot.com
    The ApexLib Framework: http://apexlib.sourceforge.net
    The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/

  • Reg: Error in Data Template ( java.sql.SQLException: ORA-00900: invalid SQL

    Hi Experts,
    Good Morning..
    I registered the data template which i created in oracle apps and while i run that, ended in error... Plz help me..
    Step :-1 Used Data Template as below:-
    <?xml version="1.0" encoding="WINDOWS-1252" ?>
    <dataTemplate name="EMP" defaultPackage="" description="Employee Data">
    - <properties>
    <property name="include_parameters" value="true" />
    <property name="include_null_Element" value="true" />
    <property name="xml_tag_case" value="upper" />
    <property name="db_fetch_size" value="500" />
    <property name="scalable_mode" value="off" />
    <property name="include_rowsettag" value="false" />
    <property name="debug_mode" value="off" />
    </properties>
    <parameters/>
    <parameters name="pdeptno" dataType="number" defaultValue=" ">
    </parameters>
    <lexicals />
    - <dataQuery>
    - <sqlStatement name="DEPT" dataSourceRef="">
    - <![CDATA[
              SELECT DEPTNO,DNAME,
              LOC,CURSOR(SELECT  EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,nvl(COMM,0) COMM from EMP ) as EMP
              from dept
              where deptno=pdeptno
              order by deptno]]>
    </sqlStatement>
    </dataQuery>
    </dataTemplate>
    Step -2:-
    Registered in xml publisher administrator
    Step -3:-
    While i am running this getting below error-
    XDO Data Engine Version No: 5.6.3
    Resp: 20419
    Org ID : 204
    Request ID: 5380496
    All Parameters: pdeptno=10
    Data Template Code: EMP_DD
    Data Template Application Short Name: FND
    Debug Flag: N
    {pdeptno=10}
    Calling XDO Data Engine...
    java.sql.SQLException: ORA-00900: invalid SQL statement
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
         at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeDefaultGroup(XMLPGEN.java:392)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:286)
         at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:273)
         at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)
         at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)
         at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)
         at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:348)
         at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
    Start of log messages from FND_FILE
    Any mistake i made.. Issue may be silly..plz help me...
    Thanks in advance..
    Happy

    Hi all,,,,
    Thank so much for your valuable response regarding this issue..
    Actually my scenario meet this below example, path for that example:-.
    http://blogs.oracle.com/xmlpublisher/2007/02/data_templates_without_groupin.html
    I am simply executing that data template. but getting this error :-
    XDO Data Engine Version No: 5.6.3
    Resp: 20419
    Org ID : 204
    Request ID: 5380496
    All Parameters: pdeptno=10
    Data Template Code: EMP_DD
    Data Template Application Short Name: FND
    Debug Flag: N
    {pdeptno=10}
    Calling XDO Data Engine...
    java.sql.SQLException: ORA-00900: invalid SQL statement
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
         at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeDefaultGroup(XMLPGEN.java:392)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:286)
         at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:273)
         at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)
         at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)
         at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)
         at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:348)
         at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
    Start of log messages from FND_FILE

  • Apex_collection.create_collection_from_query and ORA-00900 Invalid SQL

    I am very new to collections and I am having an issue creating my first collection.  When I execute the following code I get ORA-00900  invalid sql.
    apex_collection.create_collection_from_query ('TEST', 'select * from apex_collections', 'NO');
    Any guidance is greatly appreciated.  I am running Oracle 11g and APEX 4.1.0.00.32.

    Sorry bad example.  I have tried several tables.  One only had a few columns and just text and numbers.  This is the table I am trying to load into the collection.  It does not seem to matter what I put in as the sql, it always comes back invalid sql.
    My table looks like this.
    Name                 Null     Type         
    MATERIAL_ID                               NOT NULL NUMBER       
    MATERIAL_NAME                         NOT NULL VARCHAR2(75) 
    MATERIAL_DESCRIPTION                             VARCHAR2(500)
    CATEGORY_ID                             NOT NULL NUMBER       
    SUBCATEGORY_ID                                       NUMBER       
    QTY                                             NOT NULL NUMBER(2)    
    REQUESTED_QTY                                        NUMBER(2)    
    I have to be doing something really simple wrong.

  • Invalid SQL Statement when using execute for running Procedures

    Hi ,
    I create a simple stored procedure , it was created successfully , when i tried to run the StoredProcedure , it is giving me
    exec myStoredProcedure() ;
    please tell me why this is coming .

    hi
    i am using oracle 10g with asp.net
    i have created a procedure and it executed successfully, when i executed with exce <storedproc>
    but when i call up this procedure with .net it is giving an error like this..
    ERROR [42000] [Oracle][ODBC][Ora]ORA-00900: invalid SQL statement
    any one pls suggest me how to resolve this issue
    here is my stored procedure
    create or replace
    procedure sp_AddTrial (parStudyName VARCHAR2,     parContactName VARCHAR2,     parContactNumber varchar2,     parDescription varchar2,     parFactorName in varchar2, parTreatmentName in varchar2) is
    Pos int;
    Pos1 int;
    parName varchar2(50);
    parTName varchar(30);
    parFactorNames varchar2(500);
    parTreatments varchar2(500);
    parWeight int;
    parValue varchar2(20);
    parValue1 varchar2(20);
    parValue2 varchar2(20);
    parValue3 varchar2(20);
    begin
    parFactorNames :=parFactorName;
    parTreatments :=partreatmentname;
         insert into mivrs_studyinfo(
    study_id,
    study_name,
    contact_name,
         phone_number,
    description,
    created_date,
    modified_date
    values
    mivrs_studyinfo_seq.NEXTVAL,
    parStudyName,
    parContactName,
    parContactNumber,
    parDescription,
    sysdate,
    sysdate
    if parTreatments is not null then
    parTreatments := Concat(TRIM(parTreatments),',');
    Pos1 := INSTR(parTreatments,',');
    insert into temp values(1,'test');
    IF length(parTreatments)!= 0 then
              WHILE Pos1 > 0
    loop
    insert into temp values(2,Pos1);
                   parTName := TRIM(SUBSTR(parTreatments,0, Pos1 - 1));
    parTreatments := SUBSTR(parTreatments,Pos1 + 1);
                   Pos1 := INSTR(parTreatments,',', 1);
    parWeight := TRIM(SUBSTR(parTreatments,0, Pos1 - 1));
    IF length(parTName) != 0 then
    insert into mivrs_treatments (treatment_id, treatment_name, weight, study_id, created_date, modified_date) values (mivrs_treatments_seq.NEXTVAL, parTName, parWeight, mivrs_studyinfo_seq.CURRVAL,sysdate, sysdate);
    end if;
                   parTreatments := SUBSTR(parTreatments, Pos1+1);
                   Pos1 := INSTR(parTreatments,',');
              END loop;
         END IF;
    end if;
    if parFactorNames is not null then
    parFactorNames := Concat(TRIM(parFactorNames),',');
    Pos := INSTR(parFactorNames,',');
    IF length(parFactorNames)!= 0 then
              WHILE Pos > 0
    loop
                   parName := TRIM(SUBSTR(parFactorNames,0, Pos - 1));
    parFactorNames := SUBSTR(parFactorNames,Pos + 1);
                   Pos := INSTR(parFactorNames,',', 1);
    parValue := TRIM(SUBSTR(parFactorNames,0, Pos - 1));
    parFactorNames := SUBSTR(parFactorNames,Pos + 1);
                   Pos := INSTR(parFactorNames,',', 1);
    parValue1 := TRIM(SUBSTR(parFactorNames,0, Pos - 1));
    parFactorNames := SUBSTR(parFactorNames,Pos + 1);
                   Pos := INSTR(parFactorNames,',', 1);
    parValue2 := TRIM(SUBSTR(parFactorNames,0, Pos - 1));
    parFactorNames := SUBSTR(parFactorNames,Pos + 1);
                   Pos := INSTR(parFactorNames,',', 1);
    parValue3 := TRIM(SUBSTR(parFactorNames,0, Pos - 1));
    IF length(parName) != 0 then
    insert into mivrs_stratificationfactors (factor_id, factor_name, study_id, value1,value2,value3,value4) values (mivrs_stratfactors_seq.NEXTVAL, parName, mivrs_studyinfo_seq.CURRVAL,parValue,parValue1,parValue2,parValue3);
    end if;
                   parFactorNames := SUBSTR(parFactorNames, Pos+1);
                   Pos := INSTR(parFactorNames,',');
              END loop;
         END IF;
    end if;
    end;
    thank u
    Sowjanya

  • OWB Deployment Error: Invalid Sql Statement

    Hi,
    I am getting a error (Deployment Failure) on deploying my map. The map was
    successfully deployed before. But suddenly after wards in a later deployment,
    this error was given. Dropped the package.. and then still only the package spec was getting created in database, and not the body. Deployment Failure with the
    message "Invalid SQL statement".
    I have no clue ,where to start debugging from.
    hav checked all SETOP and JOINER., and they are fine.
    any idea , pls let me know..
    it s too urgent.
    Thanks and Regards

    Hi,
    have you checked the package that was created in the target schema? Examining it may help you to identify the problem.
    Regards,
    Carsten.

  • Help on Merge Statement ,I got 'ORA-00904: invalid column name' Error

    Pls help
    In Oracle 9i i implement the following qry
    MERGE INTO jobs A
    USING (select order_no,jOB_SEQ_NO from jobs_dlt) B
    ON (A.ORDER_NO = B.ORDER_NO and A.JOB_SEQ_NO =B.JOB_SEQ_NO )
    WHEN MATCHED THEN
    UPDATE SET
              A.ORDER_NO= B.ORDER_NO ,
              A.JOB_SEQ_NO= B.JOB_SEQ_NO           
    WHEN NOT MATCHED THEN
    INSERT (
              A.JOB_SEQ_NO ,
              A.ORDER_NO
    VALUES (
              B.JOB_SEQ_NO ,
              B.ORDER_NO
    but i got 'ORA-00904: invalid column name' Error
    JOBS table Contain the above Column
    how i implement the Merge Statment
    Thanks in advance
    By
    Sekar

    I seem to recall this error being spuriously (well unhelpfully) thrown if you tried to UPDATE a key that you used in the ON clause, but I could be mistaken.
    For us to recreate this you would need to supply the exact version and scripts to create the tables in question.

Maybe you are looking for