ORA-00900
I have seen issues related to the above Oracle error before in other forums. But the one I've come up with is pretty baffling (but hopefully not to everyone). When I run an SQL script in SQL*PLUS on the NT side I'm able to use the "column format" (ie. column fac_50 format 9,999,999.90) above my select statement. But when I try this in SQLPLUS on the UNIX platform, I get this error. Does anyone know why?
Do you use @<name_of_script>? Try start <name_of_script> instead. If that works, check 'stty -a' on the unix machine, whether '@' is set to 'something'. In this case '@' is misinterpreted and leads to ORA-00900.
Werner
Similar Messages
-
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 statementFirst 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 -
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..
HappyHi 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 -
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 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,
AnupFirst 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 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. -
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 -
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 -
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 -
ORA-00900 while compiling package in 11gR1(11.1.0.7)
Hello Folks,
In our apps(Ebs) instance we are recently encountering an issue,we have some packages(seeded ones) which are invalid one of them I am mentioning below:
SQL> select object_name,object_type,status from dba_objects where object_name='MSC_AATP_PVT';
OBJECT_NAME
OBJECT_TYPE STATUS
MSC_AATP_PVT
PACKAGE BODY INVALID
MSC_AATP_PVT
PACKAGE VALID
Now when I am trying to compile this package I get the following message:
SQL> alter package MSC_AATP_PVT compile body
2 /
alter package MSC_AATP_PVT compile body
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-00900: invalid SQL statement
ORA-00900: invalid SQL statement
Even If I try to compile the body which is been shown as Valid I get the same:
SQL> alter package MSC_AATP_PVT compile;
alter package MSC_AATP_PVT compile
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-00900: invalid SQL statement
ORA-00900: invalid SQL statement
This can't be an Apps issue as we have the same version of package running(Valid) in our other instances which is on same configuration as this one .
Is this a Database Bug on 11g and anybody around here is aware of any workaround which can helps us get out of this issue.
ThanksIt means package body MSC_AATP_PVT has an invalid sql statement. Get package body source code and compile it. Check line number giving you the error.
SY. -
Apexlib tabular form with lov gining ora-00900
Hi,
When I add a tabular form with 3 items and chagne two of them to a LOV display item I get the following error:
ORA-00900: invalid SQL statement
Debug:
1: begin
2: ---------------------------------------------
3: -- Get metadata of page
4: ---------------------------------------------
5: ApexLib_Page.generateBrowserData;
6: ---------------------------------------------
7: -- Get metadata of items and tabular forms.
8: ---------------------------------------------
9: ApexLib_Item.generateBrowserData;
10: ApexLib_TabForm.generateBrowserData;
11:
12: ---------------------------------------------
13: -- Send data for cascading lovs
14: ---------------------------------------------
15: ApexLib_Lov.generateBrowserData;
16:
17: ---------------------------------------------
18: -- Send NLS data for date formats and numeric
19: -- format masks and translated error messages
20: ---------------------------------------------
21: ApexLib_Browser.setNlsData;
22: ApexLib_Browser.setApexLibMessages;
23:
24: ---------------------------------------------
25: -- Active different navigation improvements
26: ---------------------------------------------
27: ApexLib_Browser.setLovIconsNonNavigable;
28: ApexLib_Browser.setLRButtonIconsNonNavigable
29: ( pLeftClassName => 'L'
30: , pRightClassName => 'R'
31: );
32: ApexLib_Browser.checkForLovKey;
33: ApexLib_Browser.checkForUpDownKey;
34:
35: ---------------------------------------------
36: -- Active different UI improvements
37: ---------------------------------------------
38: /* optional
39: ApexLib_Browser.setTextareaProperty
40: ( pProperty => ApexLib_Browser.VERTICAL_RESIZEABLE
41: );
42: */
43: ---------------------------------------------
44: -- Init browser validation
45: ---------------------------------------------
46: ApexLib_Browser.initValidation
47: ( pShowRequiredWarning => TRUE
48: );
49: ---------------------------------------------
50: -- Has to be the last statement!
51: ---------------------------------------------
52: ApexLib_Browser.flushJsBuffer;
53: end;
Any idea?
ErwinI solved it.
I modified a bit my code "On load Page". In case of LOV i have changed this condition
if (l == undefined) {
document.wwv_flow.f03.disabled = true;
}with this
if (l == 105) {
document.wwv_flow.f03.disabled = true;
}I don't know why 105 instead of undefined, but this works. I give 105, with alert on length. -
How do I fix this ORA-00900 error?
I keep getting the notoriously vague ORA-00900 error for the following Region Source code.
+(start here)+
if ( (:P44_CAC_TO_SEARCH = '***All***') and (:P44_ASSET_TO_SEARCH = NULL) )
select "ID",
"NAME",
"TITLE",
"COMPANY",
"ADDRESS_LINE1",
"ADDRESS_LINE2",
"CITY",
"STATE",
"COUNTRY",
"ZIP",
"EMAIL",
"PHONE",
"CAC",
"FAX",
"CONTACT_TYPE_ID",
"NOTES",
"ASSETS_CHECKBOXES",
"CREATED_ON",
"CREATED_BY",
"UPDATED_ON",
"UPDATED_BY",
"NEIGHBORHOOD",
"WHAT_YOU_LIKE",
"WHAT_TO_IMPROVE",
"WHAT_TO_WORK_ON",
"ENTERED_BY",
"DESCRIPTION_OF_OTHER"
from "#OWNER#"."EBA_CUST_CONTACTS";
end if;
+(end here)+
Any ideas?
Steve "the n00b" in Raleigh NCHi
when posting code, please put {noformat}{noformat} (with the curly braces and the word code in lower case) above and below it like this...
{noformat}{noformat}
BEGIN
NULL;
END;
{noformat}{noformat}
This will preserve formatting and will display like this...BEGIN
NULL;
END;
So your query looks like this...SELECT id,
name,
title,
company,
address_line1,
address_line2,
city,
state,
country,
zip,
email,
phone,
cac,
fax,
contact_type_id,
notes,
assets_checkboxes,
created_on,
created_by,
updated_on,
updated_by,
neighborhood,
what_you_like,
what_to_improve,
what_to_work_on,
entered_by,
description_of_other
FROM "#OWNER#"."EBA_CUST_CONTACTS"
WHERE ((:p44_asset_to_search != NULL)
AND(contains_f(:p44_asset_to_search, assets_checkboxes)))
OR((:p44_cac_to_search != NULL)
AND(contains_f(:p44_cac_to_search, cac)));
What is the source of contains_f?
Cheers
Ben
Edited by: Munky on Feb 5, 2010 2:16 PM - Oh, and remove the semi-colon from the end, it isn't needed in the source here and can mess things up -
ORA-00900 when there is huge quantity access to Data Base
Hi
I have some Java programs which access to the same Data Base Oracle 11gR2 from diferent computers and diferent Operative System.
in a normal execution everything is working but when I want to test the 'stress' in the data base I execute many concurrent programs. The problem is that when I execute too many programs the data base answer me 'java.sql.SQLException: ORA-00900: sentencia SQL no valida' (I´m sorry the spanish expresion, I don´t know the english correspondence)
The SQL sentences are static.
Do you know why? and do you know the solution?
Thanks you for your answers
Pablo José Izquierdohi, thank for your answer
I enable a logging in my Java program and after the execution I write the sql sentence which causes the exception in my SQLplus and it´s correct. The programs execute the same 4 sentences about 50 time every second (more 200 access every second and every program) and it´s only return a problem when I have too many programs.
It´s only happens sometimes, no always, but the execution is very long and I find the problem at some point in the same
The database is Autocommit and the sentences are on the same table but on diferente values. -
SQL Commands - ORA-00900: instruction SQL non valide
Hi everyone,,
i have installed Oracle Xe on a Centos 5.5 host yesteday.
Installation was Ok, i can connect to the web interface on "http://127.0.0.1:8080/apex/".
But when i want to use sql comands, what ever the command entered ,i have the "ORA-00900: instruction SQL non valide" message.
I can enter "Show all" command, for exemple, in an terminal view after SQL> prompt , it works... but not in the web interface...
I've tried to import .sql script also, trought the web interface, no much result, no display in the window.
Someone can help me,
thanks,I'had no error messages during installation, so.. i thing everything is ok.
i try simple commande like "Show all" , this command works on terminal view.
Maybe i could try to reinstall or upgrade the version i use ( oracle-xe-10.2.0.1-1.0.i386.rpm )
.. but tomorrow, it's 2AM in Paris , i need to sleep :-) -
'ORA-00900 3D' error when executing oci from cgi program
I get the ORA-00900 error with the explanation "3D" whenever I try to join tables from my web querying interface.
I built a web page that allows me to query my oracle database through an OCI program.
Before, I had trouble accessing the database. After I posted a question on this website however, the problem was solved (I simply had to 'setenv' so the OCI program can inherit the env variables).
This time, I am sure it is an env. variable problem again as the program works just fine from the command prompt.
The problem is..WHICH environment variable. I have included all the env variable in the .bash_profile file in the cgi program and still it doesn't work.
Anybody knows why?I solved the problem though I'm embarrased to admit. The error was due to the query statement structure.
I also decoded the statement (those not familiar with cgi might not know what I'm talking about)
The undecoded string was what really caused the problem. -
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 helpHi 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
Maybe you are looking for
-
Is it that underpowered?
I just bought this computer. My old pavillion was giving me fits and the budget was tight, so I chose a bottom of the line machine. I do Microsoft Office, Quickbooks, Family Tree Maker, etc. I don't do any gaming or anything that would require a part
-
Forms 9i intermittent crashes on Windows XP
We have a Forms 9i application that used to run fine when the users had Windows 2000 on their P.C.s. However, since the users moved to Windows XP on their P.C.s they experience intermittent crashes of the webforms. Sometimes these crashes are accompa
-
HP Pavilion DV7-4180ea AC Power Problem (Really Need Help)
my hp pavilion dv7- 4180ea is a machine and a half, BUT, if i try to play a computer game, (without charger in) i can get 80 fps + on full settings, when i put my default hp charger in, the fps drops to 50 or 60 which is smooth, but it hiccups BADLY,
-
Play count still doesn't work with 3.1.3. APPLE PLEASE FIX THIS!
APPLE! PLEASE FIX THIS PROBLEM! I am getting tired of having to try an remember what episode of my shows I was on! I'm an avid anime watcher who queues up whole series' on my iPod Touch 3g 32GB and go to watch 12 episodes or so, connect the iPod, dis
-
How can I use "find my device" without wifi?
How can I use "find my device" without wifi??? Please help me! I am in vacation in USA and I lost my iPhone