EDQ - error exporting to DB: ORA-00928 missing SELECT
Hi,
I am using EDQ v12.1.3.0.0 and have created a very basic proof of concept process which takes as input a comma-demilited file through the Reader process and then has a Write processor to write the input to Staged Data.
I am then trying to Export the staged data to the relevant table in the database but get the following error message:
'xxxxxx failed: Problem writing insert batch to database: ORA-00928: missing SELECT keyword.
The input file/staged data only contains a single comma-delimited file with 3 fields and on the other side in the database, all I have in the schema is a single table which I am writing to. I can connect to my target DB datastore in EDQ without any problems.
Does anyone have any ideas as to what could be causing this? Reading up on this error suggests that it is to with the SELECT keyword missing from a CREATE VIEW statement but I am not sure where or why it is trying to create a view.
Any help would be much appreciated.
Hi Mike,
Many thanks for your quick response.
I am writing to an existing table and wasn't seeing the three options which you've suggested, and which I've seen also appear in the documentation. But based on what you've said above, I now understand that I won't see those options because I am running a standalone export by right-clicking in the tree, rather than in a job.
The target table didn't have a PK defined and I have since added one and ran the stand-alone export again and it has worked this time - Thanks. Thanks also for pointing out that the export will be DELETING and INSERTING - I was wondering why each time the export was failing it was removing records from the table, as I thought in this mode it would just be doing a straightforward INSERT. (So it was doing the DELETE part ok but failing on the INSERT).
I would also like to know another couple of things please.
1) How can I add this Export to a newly created Job? I have created a Job and put my Process in there, but when I try and drag-and-drop the Export, I get a no-entry sign indicating that I'm not allowed to do this. My target datastore is server-based rather than client-based and I thought that this should be ok if doing an export.
2) Is it possible to call database stored procedures on the target database and then let that take care of inserts? E.g. rather than letting EDQ insert the records straight into the target DB, would like to make a call to a PL/SQL stored procedure which takes the data to be inserted as input (if at all possible, I understand this could be difficult if dealing with multiple records, unless the procedure can be called each time for each record), and then performs some checks before inserting the records.
EDIT: regarding point 2 above, I have just come across this - How to call Oracle Stored Procedure using EDQ.
Similar Messages
-
Error in CMP ORA-00928: missing SELECT keyword
Hi,
I am using WLS 8.1 and with CMP trying to insert records in oracle 8.1.
But I am getting error as below.
I hv not defined and finder method in the home interface except the default findByPrimaryKey().
javax.transaction.TransactionRolledbackException: EJB Exception: : java.sql.SQLE
xception: ORA-00928: missing SELECT keyword
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:109
4)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:2877)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
edStatement.java:608)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStateme
nt.java:95)
at weblogic.ejb20.manager.BaseEntityManager.executeInsertStmt(BaseEntity
Manager.java:546)
at weblogic.ejb20.manager.BaseEntityManager.executeDBOperations(BaseEnti
tyManager.java:435)
at weblogic.ejb20.internal.TxManager$TxListener.executeDBOperations(TxMa
nager.java:596)
at weblogic.ejb20.internal.TxManager$TxListener.executeDBOperationsDrive
r(TxManager.java:571)
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManag
er.java:731)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(Serv
erSCInfo.java:1010)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Se
rverSCInfo.java:115)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAn
dChain(ServerTransactionImpl.java:1142)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(
ServerTransactionImpl.java:1868)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
rverTransactionImpl.java:250)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:221)
at weblogic.ejb20.internal.BaseEJBHome.postHomeInvoke(BaseEJBHome.java:3
93)
at weblogic.ejb20.internal.EntityEJBHome.create(EntityEJBHome.java:268)
at gateway.GatewayUpdate_f6dwyt_HomeImpl.create(GatewayUpdate_f6dwyt_Hom
eImpl.java:84)
at gateway.LogBean.msg_update(LogBean.java:137)
at gateway.LogBean.onMessage(LogBean.java:57)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
In a nushell I am not using any finder methods in my client program.Still I am
getting this error.
Pl.advise.
Regards,
RamHi,
Please do not post the same question in multiple newsgroups.
Please see my reply in the other group.
thanks -
Error ORA-00928: missing SELECT keyword
Dear All,
I have created package and also create function in it return me error..
ORA-00928: missing SELECT keyword..
Package Specification
CREATE OR REPLACE PACKAGE PERSONLIZATION_NEW AS
FUNCTION PO_ITEM_BRANCH (ITEM_ID NUMBER, BRANCH_CODE VARCHAR2)
RETURN NUMBER;
END PERSONLIZATION_NEW;
Package body.
CREATE OR REPLACE PACKAGE BODY PERSONLIZATION_NEW AS
ITEM_ID NUMBER;
BRANCH_CODE NUMBER;
FUNCTION PO_ITEM_BRANCH (ITEM_ID NUMBER, BRANCH_CODE VARCHAR2)
RETURN NUMBER IS RESULT NUMBER;
FUNCTION PO_ITEM_BRANCH (ITEM_ID NUMBER, BRANCH_CODE VARCHAR2)
RETURN NUMBER IS
RESULT NUMBER;
BEGIN
SELECT
count(a.asset_number) into result
FROM
SELECT
c.CATEGORY_ID,
a.ASSET_NUMBER
FROM
FA_ADDITIONS A
,FA_CATEGORIES_VL C
,FA_BOOKS B
,FA_LOCATIONS FL
,FA_DISTRIBUTION_HISTORY DH
,FA_TRANSACTION_HEADERS TH
WHERE
A.ASSET_CATEGORY_ID=C.CATEGORY_ID
AND A.ASSET_ID=B.ASSET_ID
AND A.ASSET_ID=TH.ASSET_ID
AND TH.TRANSACTION_TYPE_CODE='ADDITION'
AND B.TRANSACTION_HEADER_ID_IN=TH.TRANSACTION_HEADER_ID
AND B.ASSET_ID=TH.ASSET_ID
AND A.ASSET_ID=DH.ASSET_ID
AND DH.LOCATION_ID=FL.LOCATION_ID
AND TH.TRANSACTION_TYPE_CODE='ADDITION'
--AND FL.SEGMENT4 = 'Shalimar Campus Lahore'
AND TH.TRANSACTION_TYPE_CODE <> 'FULL RETIREMENT'
-- AND FL.SEGMENT4 = (SELECT flex_value FROM fnd_flex_values WHERE ATTRIBUTE1 = '04010303')
AND A.ASSET_CATEGORY_ID IN (
SELECT
msi.asset_category_id
FROM
po_requisition_lines_all b,
mtl_system_items_b msi
WHERE
b.ITEM_ID = msi.INVENTORY_ITEM_ID
AND msi.inventory_item_id(+) = B.item_id
AND msi.organization_id(+) = B.destination_organization_id
AND b.item_id = ITEM_ID
AND FL.SEGMENT4 = (
SELECT
(SELECT FLEX_VALUE FROM fnd_flex_values WHERE ATTRIBUTE1 = B.ATTRIBUTE2) BRANCH
FROM
po_requisition_lines_all b,
mtl_system_items_b msi
WHERE
b.ITEM_ID = msi.INVENTORY_ITEM_ID
AND msi.inventory_item_id(+) = B.item_id
AND msi.organization_id(+) = B.destination_organization_id
AND b.ATTRIBUTE2 = BRANCH_CODE
) A
RETURN(RESULT);
END;
--END PERSONLIZATION_NEW;Hi,
user10941925 wrote:
Dear All,
I have created package and also create function in it return me error..
ORA-00928: missing SELECT keyword..Whenever you have a problem concerning an error message, post the complete error message, including line numbers.
Make sure it's clear what causes the error. In this case, is it compiling the package spec, compiling the package body, or calling the function?
Package Specification
CREATE OR REPLACE PACKAGE PERSONLIZATION_NEW AS
FUNCTION PO_ITEM_BRANCH (ITEM_ID NUMBER, BRANCH_CODE VARCHAR2)
RETURN NUMBER;
END PERSONLIZATION_NEW;Please format your code to make it readable.
Whenever you post formatted text (including, but not limited to, code) on this site, type these 6 characters:
\(small letters only, inside curly brackets) before and after each section of formatted text, to preserve spacing.
Package body.
CREATE OR REPLACE PACKAGE BODY PERSONLIZATION_NEW AS
ITEM_ID NUMBER;
BRANCH_CODE NUMBER;These global variables aren't being used anywhere, but they're not causing the error.
FUNCTION PO_ITEM_BRANCH (ITEM_ID NUMBER, BRANCH_CODE VARCHAR2)
RETURN NUMBER IS RESULT NUMBER;
You've got two copies of the function signature here. Remove one of them.
>
FUNCTION PO_ITEM_BRANCH (ITEM_ID NUMBER, BRANCH_CODE VARCHAR2)
RETURN NUMBER IS
RESULT NUMBER;
BEGIN
SELECT
count(a.asset_number) into result
FROM
SELECT
c.CATEGORY_ID,
a.ASSET_NUMBER
FROM
FA_ADDITIONS A
,FA_CATEGORIES_VL C
,FA_BOOKS B
,FA_LOCATIONS FL
,FA_DISTRIBUTION_HISTORY DH
,FA_TRANSACTION_HEADERS TH
WHERE
A.ASSET_CATEGORY_ID=C.CATEGORY_ID
AND A.ASSET_ID=B.ASSET_ID
AND A.ASSET_ID=TH.ASSET_ID
AND TH.TRANSACTION_TYPE_CODE='ADDITION'
AND B.TRANSACTION_HEADER_ID_IN=TH.TRANSACTION_HEADER_ID
AND B.ASSET_ID=TH.ASSET_ID
AND A.ASSET_ID=DH.ASSET_ID
AND DH.LOCATION_ID=FL.LOCATION_ID
AND TH.TRANSACTION_TYPE_CODE='ADDITION'
--AND FL.SEGMENT4 = 'Shalimar Campus Lahore'
AND TH.TRANSACTION_TYPE_CODE <> 'FULL RETIREMENT'
-- AND FL.SEGMENT4 = (SELECT flex_value FROM fnd_flex_values WHERE ATTRIBUTE1 = '04010303')
AND A.ASSET_CATEGORY_ID IN (
SELECT
msi.asset_category_id
FROM
po_requisition_lines_all b,
mtl_system_items_b msi
WHERE
b.ITEM_ID = msi.INVENTORY_ITEM_ID
AND msi.inventory_item_id(+) = B.item_id
AND msi.organization_id(+) = B.destination_organization_id
AND b.item_id = ITEM_ID
AND FL.SEGMENT4 = (
SELECT
(SELECT FLEX_VALUE FROM fnd_flex_values WHERE ATTRIBUTE1 = B.ATTRIBUTE2) BRANCH
FROM
po_requisition_lines_all b,
mtl_system_items_b msi
WHERE
b.ITEM_ID = msi.INVENTORY_ITEM_ID
AND msi.inventory_item_id(+) = B.item_id
AND msi.organization_id(+) = B.destination_organization_id
AND b.ATTRIBUTE2 = BRANCH_CODE
) ALooks like you're missing a ; above.
>
RETURN(RESULT);
END;
--END PERSONLIZATION_NEW;The END statement for the package is commented out. -
Sqlldr: ORA-00928: missing SELECT keyword
Hi,
I am not able to make sqlldr work using very simple control file. Any hints appreciated
P..
<pre>
-bash-3.2$ cat /export/oracle/a.ctl
LOAD DATA
INTO TABLE utf8
fields terminated by ","
(char, x)
-bash-3.2$ cat /export/oracle/data.txt
a,b
c,d
-bash-3.2$ bin/sqlldr sysman/11amcoke control=/export/oracle/a.ctl data=/export/oracle/data.txt log=import
SQL*Loader: Release 11.2.0.1.0 - Production on Tue Oct 11 01:02:26 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 2
-bash-3.2$ cat import.log
SQL*Loader: Release 11.2.0.1.0 - Production on Tue Oct 11 01:02:26 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Control File: /export/oracle/a.ctl
Data File: /export/oracle/data.txt
Bad File: /export/oracle/data.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table UTF8, loaded from every logical record.
Insert option in effect for this table: INSERT
Column Name Position Len Term Encl Datatype
CHAR FIRST * , CHARACTER
X NEXT * , CHARACTER
Record 1: Rejected - Error on table UTF8, column CHAR.
ORA-00928: missing SELECT keyword
Record 2: Rejected - Error on table UTF8, column CHAR.
ORA-00928: missing SELECT keyword
Table UTF8:
0 Rows successfully loaded.
2 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 33024 bytes(64 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 2
Total logical records rejected: 2
Total logical records discarded: 0
Run began on Tue Oct 11 01:02:26 2011
Run ended on Tue Oct 11 01:02:26 2011
Elapsed time was: 00:00:00.12
CPU time was: 00:00:00.04
</pre>
Should it matter, this is on Solaris 10u10, amd64 (VirtualBox) with 8GB RAM
Edited by: user13277775 on 10.10.2011 16:10Don't use reserved words (CHAR,which is a format specification) as column names:
http://download.oracle.com/docs/cd/E11882_01/server.112/e22490/ldr_field_list.htm#i1015797 -
"ORA-00928: missing SELECT keyword" only on one instance in RAC
I am using oracle 9i RAC.When I run a query in one instance it is working fine but in another instance of RAC it is giving "ORA-00928: missing SELECT keyword".
I am wondering why it happening in the same RAC.Please suggest me where is the problem.
ThanksSTAR_TRANSFORMATION_ENABLED=true in both instances
My query lools like
SELECT * FROM
(SELECT coulmn1,col2
FROM tab1 wh full OUTER JOIN tab2 stg on wh.row_id = stg.row_id
WHERE wh.MODIFICATION_NUM IS NULL
OR stg.MODIFICATION_NUM IS NULL
OR wh.MODIFICATION_NUM <> stg.MODIFICATION_NUM) WHERE REC_STA <>'D';
Please suggest
Thanks -
Invalid exists/not exists condition: ORA-00928: missing SELECT keyword
I am getting errors when I edit the source region and add the sql I want to run in the report. If I run the following query in sqlplus with the schema owner substituted for OWNER it works fine.
SELECT TK_IN_TIME
from "#OWNER#"."TIME_KEEPING_T"
I also run the following code in sqlplus and it works perfect, but from the source region I get a divide by 0 error.
select dt,to_char(trunc(mod((elaps)*24,24)),'fm00')||':'||
to_char(trunc(mod((elaps)*24*60,60)),'fm00')||':'||
to_char(trunc(mod((elaps)*24*60*60,60)),'fm00') ELAPSED
from
select trunc (tk_in_time) dt, sum(tk_out_time-tk_in_time) elaps
from time_keeping_t
group by trunc(tk_in_time)
order by dt
What is so different between the source region and sqlplus. I need to have this query run in my report and unfortunately, it doesn't seem possible. I'm about to give up on APEX and try something different.I couldn't paste a screenshot, so I cut and paste. If there is somewhere I could put the screenshot let me know. There is IDENTIFICATION, USER INTERFACE, and SOURCE. I'm putting the sql into the SOURCE region. I've gotten so many errors, that I have it just limited to a simple select of two fields, and I apply changes and then RUN, and get the 00928 error.
Region Definition Report Attributes Print Attributes
Region: 2 of 2 Name: Report on TIME_KEEPING_T
Show All Identification User Interface Source Conditions Cache Header and Footer Authorization Customization Configuration Comments
Identification
Page: 3 Report on TIME_KEEPING_T
Title exclude title from translation
Type SQL Query SQL Query (PL/SQL function body returning SQL query)
Static ID
Region Attributes
User Interface
Template No Template Borderless Region Bracketed Region Breadcrumb Region Button Region with Title Button Region without Title Chart Region Form Region Hide and Show Region List Region with Icon (Chart) Navigation Region Navigation Region, Alternative 1 Region without Buttons and Title Region without Title Report Filter - Single Row Report List Reports Region Reports Region 100% Width Reports Region, Alternative 1 Sidebar Region Sidebar Region, Alternative 1 Wizard Region Wizard Region with Icon Sequence
Display Point After Header Page Template Body (1. items below region content) Page Template Body (2. items below region content) Page Template Body (3. items above region content) Before Footer Page Template Region Position 1 Page Template Region Position 2 Page Template Region Position 3 Page Template Region Position 4 Page Template Region Position 5 Page Template Region Position 6 Page Template Region Position 7 Page Template Region Position 8 Column 1 2 3 4 5 6 7 8 9
[Body][Pos.1][Pos.2][Pos.3][Pos.4]
Region HTML table cell attributes
Source
Region Source
SELECT TK_IN_TIME,
TK_OUT_TIME
from "DAPDEV"."TIME_KEEPING_T"
Use Query-Specific Column Names and Validate Query
Use Generic Column Names (parse query at runtime only)
Maximum number of generic report columns: -
Re: ORA-00928: missing SELECT keyword
Hi
I have created a question in Access and then copied the SQL question from it. When I try to run it in eg SQL plus I get an error.From the error I understand that there must be one more Select statement but I can't figure out where or why.
I am trying to access an Oracle DB so I guess I must change the question but I am not sure how.
SELECT MC_POSUM.ID, MC_POLINE.ID, MC_INVTRANS.TQTY_AMT, MC_PCITEM.ITID, MC_INVTRANS.PRSD_DTTM, MC_EMPLOYEE.AENM, MC_EMPLOYEE_1.AENM, MC_STOREROOM.STOREID, MC_STOREROOM.STOROI, MC_INVTRANS.TRNTYP
FROM ((((((MC_POSUM INNER JOIN MC_POLINE ON MC_POSUM.POSUMOI = MC_POLINE.PO_OI) INNER JOIN MC_PODEL ON MC_POLINE.POLNOI = MC_PODEL.POLINE_OI) INNER JOIN MC_INVTRANS ON MC_PODEL.PODELOI = MC_INVTRANS.PODEL_OI) INNER JOIN MC_EMPLOYEE ON MC_INVTRANS.AUDT_USER_OI = MC_EMPLOYEE.EMPOI) INNER JOIN MC_PCITEM ON MC_POLINE.PCITEM_OI = MC_PCITEM.PCITOI) LEFT JOIN MC_STOREROOM ON MC_INVTRANS.STOR_OI = MC_STOREROOM.STOROI) INNER JOIN MC_EMPLOYEE AS MC_EMPLOYEE_1 ON MC_POSUM.BUY_OI = MC_EMPLOYEE_1.EMPOI WHERE (((MC_EMPLOYEE_1.AENM) Not Like [MC_EMPLOYEE.AENM]) AND ((MC_STOREROOM.STOROI) Not Like 32050) AND ((MC_INVTRANS.TRNTYP) Like 5));Just guessing here, but if you are on an Oracle version prior to 9, it does not support the JOIN ON syntax. If you run the query in Access, the ODBC driver takes care of the conversion.
Prior to 9, a join in Oracle is done by including all tables in the FROM clause, and then specifying the relationship between the tables in the WHERE clause. An OUTER join is accomplished by adding (+) to the relationship for the table that you want to make up rows for. So, in Oracle, your query would be something like:
SELECT mc_posum.id, mc_poline.id, mc_invtrans.tqty_amt, mc_pcitem.itid,
mc_invtrans.prsd_dttm, mc_employee.aenm, mc_employee_1.aenm,
mc_storeroom.storeid, mc_storeroom.storoi, mc_invtrans.trntyp
FROM mc_posum, mc_poline, mc_podel, mc_invtrans, mc_employee, mc_pcitem,
mc_storeroom, mc_employee mc_employee_1
WHERE mc_posum.posumo1 = mc_poline.po_oi and
mc_poline.polnoi = mc_podel.poline_oi and
mc_podel.podeloi = mc_invtrans.podel_oi and
mc_invtrans.audt_user_oi = mc_employee.empoi and
mc_poline.pcitem_oi = mc_pcitem.pcitoi and
mc_invtrans.stor_oi = mc_storeroom.storoi(+) and
mc_posum.buy_oi = mc_employee_1.empoi and
mc_employee_1.aenm <> mc_employee.aenm and
mc_storeroom.storoi <> 32050 and
mc_invtrans.trntyp = 5;HTH
John -
ORA-00928(Missing Select Keyword)
Hi All. This procedure searches for a given keyword in all the tables of a schema.
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE Results CASCADE CONSTRAINTS';
EXCEPTION WHEN OTHERS THEN NULL;
END;
CREATE GLOBAL TEMPORARY TABLE Results
ColumnName nvarchar2 (370) ,
ColumnValue nvarchar2 (3630)
ON COMMIT PRESERVE ROWS
CREATE OR REPLACE PROCEDURE SearchAllTables
SearchStr IN NVARCHAR2 DEFAULT NULL,
RCT1 IN OUT GLOBALPKG.RCT1
AS
TableName NVARCHAR2(256);
ColumnName NVARCHAR2(128);
SearchStr2 NVARCHAR2(110);
ASSIGNMENTVARIABLE0 NUMBER := 0;
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE Results';
TableName := '';
SearchStr2 := '%' || SearchStr || '%';
<< LABEL1 >>
WHILE TableName IS NOT NULL
LOOP
BEGIN
ColumnName := '';
SELECT MIN(TABLE_SCHEMA || '.' || TABLE_NAME) INTO TableName
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND TABLE_SCHEMA || '.' || TABLE_NAME > SearchAllTables.TableName
AND OBJECTPROPERTY(ASSIGNMENTVARIABLE0, 'IsMSShipped') = 0;
<< LABEL2 >>
WHILE ( TableName IS NOT NULL ) AND ( ColumnName IS NOT NULL )
LOOP
BEGIN
SELECT MIN(COLUMN_NAME) INTO ColumnName
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(SearchAllTables.TableName, 2)
AND TABLE_NAME = PARSENAME(SearchAllTables.TableName, 1)
AND DATA_TYPE IN ( 'char' , 'varchar' , 'nchar' , 'nvarchar' )
AND COLUMN_NAME > SearchAllTables.ColumnName;
IF ColumnName IS NOT NULL THEN
BEGIN
INSERT INTO Results EXEC
( 'SELECT ''' || SearchAllTables.TableName || '.' || SearchAllTables.ColumnName || ''', LEFT(' || SearchAllTables.ColumnName || ', 3630)
FROM ' || SearchAllTables.TableName || ' (NOLOCK) ' || ' WHERE ' || SearchAllTables.ColumnName || ' LIKE ' || SearchAllTables.SearchStr2 );
END;
END IF;
END;
END LOOP;
END;
END LOOP;
OPEN RCT1 FOR
SELECT
ColumnName,
ColumnValue
FROM Results;
END;
/IF ColumnName IS NOT NULL THEN
BEGIN
INSERT INTO Results EXEC
( 'SELECT ''' || SearchAllTables.TableName || '.' || SearchAllTables.ColumnName || ''', LEFT(' || SearchAllTables.ColumnName || ', 3630)
FROM ' || SearchAllTables.TableName || ' (NOLOCK) ' || ' WHERE ' || SearchAllTables.ColumnName || ' LIKE ' || SearchAllTables.SearchStr2 );
END;That's a static INSERT statement but it appears the SELECT wants to be dynamic. Given the way the query is put together, I would think you intended the INSERT to be dynamic. -
Selective (Conditional) export failing with ORA-00936: missing expression
HI Experts,
I was doing selective (Conditional) export of one table. But the export is failing with the following error.
ORA-00936: missing expression
I have been trying for the past 2 hours on this to resolve. But not.
Could anybody please how can i export the data..
Oracle Version : 10.2.0.5
OS : SOLARIS 10 SPARC
exp E3DAIUSR/E3DAIUSR@ORCL statistics=none file=exp_TABLE.dmp log=exp_Conditional.log TABLES=PGTB_IFDATA query=\'where CRE_DT=\''20120513\'
The error is as follows
==============
About to export specified tables via Conventional Path ...
. . exporting table PGTB_IFDATA
EXP-00056: ORACLE error 936 encountered
ORA-00936: missing expression
Export terminated successfully with warnings.
Please help me on this..Hi ,
Now i am using the query like below. But still getting the error.
exp E3DAIUSR/E3DAIUSR@ORCL statistics=none file=exp_TD17870_1_TABLE.dmp log=exp_TD17870_1_TABLE_Conditional.log TABLES=PGTB_IFDATA query=\"where CRE_DT=\'20120513\'"
Error
====
LRM-00111: no closing quote for value 'where CRE_'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully
This is Solaris OS
Please provide me correct query if possible -
Error in MERGE statement - ORA-00969: missing ON keyword
Hi All ,
I am trying to write a Merge statement , but I am getting the below error .
MERGE INTO main_table m
USING tab_1 l, tab_2 u
ON ( l.col1 = m.col1
AND u.col2 = l.col2)
When Matched then
update........
When not mached then
Insert ......
But here I am using 2 tables in the USING clause . and here I am getting this error :-
142/17 PL/SQL: SQL Statement ignored
143/42 PL/SQL: ORA-00969: missing ON keyword
May I know where i am doing wrong ?Hi LuKKa, you are on the Portugues Forum, but we can help you, try the code mentioned below:
MERGE INTO main_table m
USING (select l.col1, l.col2, u.col2 from tab_1 l join tab_2 u on (u.col2 = l.col2)) t
ON (t.col1 = m.col1)
When Matched then
update........
When not mached then
Insert ......
Regards. -
Hi all,
I created some tables for a database that is going to be OS
independent.
When i put some values to a specific table, I have tha following
problem:
At the time that i put the values, to the table, i receive the
error message "ORA-00928, SELECT Keyword missing"
This table has a foreign key which is referenced to another
table and column.
i don't think that i am making any mistake in the setting of the
constraintsm because i made 2 more tables with the same
constraints and i didnot have any problem.
I am confused, cause I am now bacoming familiar with the oracle
environment and i don't know many things about oracle.
From your experience, what could cause the problem?
Kind regards,
K.Here are some examples that may help make things clearer. In
the following examples, to simplify things and focus on the
problem, I have limited the create table statement to just the
columns, without constraints or anything else.
If you create the table your way, using reserved words enclosed
in doubles quotes:
SQL> CREATE TABLE "SCOTT"."TRANSACTION_BATCH"
2 ("NUMBER" NUMBER(8) NOT NULL,
3 "DATE" DATE NOT NULL,
4 "TYPE" VARCHAR2(10) NOT NULL,
5 "FILENAME" VARCHAR2(20),
6 "TOTALTRANSACTIONS" NUMBER(8) NOT NULL)
7 /
Table created.
The table gets created O.K., but when you try to insert your
way, using the reserved words, without the quotes, you get:
SQL> INSERT INTO "SCOTT"."TRANSACTION_BATCH"
2 (NUMBER,
3 DATE,
4 TYPE,
5 FILENAME,
6 TOTALTRANSACTIONS)
7 VALUES
8 (1,
9 TO_DATE (",'dd-Mon-yyyy HH:MI:SS AM'),
10 '1',
11 ",
12 2)
13 /
(NUMBER,
ERROR at line 2:
ORA-00928: missing SELECT keyword
In the above, when it gets to line 2, it knows it can't insert a
column called NUMBER, so it looks for a SELECT instead, and
doesn't find it.
However, if you insert with double quotes around the column
names, it works:
SQL> INSERT INTO SCOTT.TRANSACTION_BATCH
2 ("NUMBER",
3 "DATE",
4 "TYPE",
5 "FILENAME",
6 "TOTALTRANSACTIONS")
7 VALUES
8 (1,
9 SYSDATE,
10 '1',
11 NULL,
12 2)
13 /
1 row created.
However, it would be better to drop the table and recreate it,
using column names that aren't reserved key words:
SQL> DROP TABLE transaction_batch
2 /
Table dropped.
SQL> CREATE TABLE "SCOTT"."TRANSACTION_BATCH"
2 (NUMBER_COL NUMBER(8) NOT NULL,
3 DATE_COL DATE NOT NULL,
4 TYPE VARCHAR2(10) NOT NULL,
5 FILENAME VARCHAR2(20),
6 TOTALTRANSACTIONS NUMBER(8) NOT NULL)
7 /
Table created.
Then, you can insert without the double quotes:
SQL> INSERT INTO SCOTT.TRANSACTION_BATCH
2 (NUMBER_COL,
3 DATE_COL,
4 TYPE,
5 FILENAME,
6 TOTALTRANSACTIONS)
7 VALUES
8 (1,
9 SYSDATE,
10 '1',
11 NULL,
12 2)
13 /
1 row created.
To further illustrate the problem and show you what I meant when
I said that creating the table without the double quotes would
have brought the problem to your attention then, suppose we try
to do that using the reserved words:
SQL> DROP TABLE transaction_batch
2 /
Table dropped.
SQL> CREATE TABLE "SCOTT"."TRANSACTION_BATCH"
2 (NUMBER NUMBER(8) NOT NULL,
3 DATE DATE NOT NULL,
4 TYPE VARCHAR2(10) NOT NULL,
5 FILENAME VARCHAR2(20),
6 TOTALTRANSACTIONS NUMBER(8) NOT NULL)
7 /
(NUMBER NUMBER(8) NOT NULL,
ERROR at line 2:
ORA-00904: invalid column name
The above tells us that NUMBER is a reserved word and should not
be used as a column name. The same is true for DATE. Putting
them in double quotes to get around that problem causes more
problems than it solves. Unfortunately there are some
applications out there that automatically insert double quotes
in some places and not in others. -
Hi,
I have a strange error can anyone decipher this one - When I edit a page and change the "standard tab set" to a particular tab set I get the following error message when running the page.
"Invalid exists/not exists condition: ORA-00928: missing SELECT keyword "
When I run the page with no tab-set there is no error.
Thanks in advance,
BrandonHi,
I have a strange error can anyone decipher this one - When I edit a page and change the "standard tab set" to a particular tab set I get the following error message when running the page.
"Invalid exists/not exists condition: ORA-00928: missing SELECT keyword "
When I run the page with no tab-set there is no error.
Thanks in advance,
Brandon -
Please help to solve this error message ORA-00928
hallo, I'm sorry if it's wrong place to answer a question like that cause I'm a newbie :( .
I have some php problem like above :
<?php
//connect to database
$db = "";
$conn = ocilogon("system", "tubes", $db);
if ( !$conn ) {
echo "Status : Connection Error, mangga di lereuskeun heula : " . var_dump( OCIError() );
//input data
$id = $_POST[id_jenis_zakat];
$jenis = $_POST[jenis_zakat];
$barang = $_POST[jenis_barang];
$jumlah = $_POST[jumlah];
$stmt = OCIParse($conn, "insert into zakat value( $id ,$jenis ,$barang ,$jumlah)");
$s = ociexecute($stmt);
if (!$s){
echo "Input Data Error, mangga didangdosan heula".var_dump(ocierror());
?>
but, it's show this message
Warning: ociexecute() [function.ociexecute]: ORA-00928: missing SELECT keyword in C:\xampp\htdocs\baznas\coba.php on line 15
bool(false) Input Data Error, mangga didangdosan heula
so, What should I do ?so, What should I do ?Hm. I'm a php-noob, but it looks like a typo:
$stmt = OCIParse($conn, "insert into zakat value( $id ,$jenis ,$barang ,$jumlah)");Try:
$stmt = OCIParse($conn, "insert into zakat VALUES( $id ,$jenis ,$barang ,$jumlah)");If that doesn't work then perhaps the PHP forum can help you: PHP -
'Missing select' error for update statement using WITH clause
Hi,
I am getting the below error for update statement using WITH clause
SQL Error: ORA-00928: missing SELECT keyword
UPDATE A
set A.col1 = 'val1'
where
A.col2 IN (
WITH D AS
SELECT col2 FROM
(SELECT col2, MIN(datecol) col3 FROM DS
WHERE <conditions>
GROUP BY PATIENT) D2
WHERE
<conditions on A.col4 and D2.col3>Hi,
The format of a query using WITH is:
WITH d AS
SELECT ... -- sub_query
SELECT ... -- main query
You don't have a main query. The keyword FROM has to come immediately after the right ')' that ends the last WITH clause sub-query.
That explains the problem based on what you posted. I can't tell if the real problem is in the conditions that you didn't post.
I hope this answers your question.
If not, post a complete test script that people can run to re-create the problem and test their ideas. Include a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all the tables involved, and the results you want from that data.
In the case of a DML operation (such as UPDATE) the sample data should show what the tables are like before the DML, and the results will be the contents of the changed table(s) after the DML.
Explain, using specific examples, how you get those results from that data.
Always say what version of Oracle you're using (e.g. 11.2.0.2.0).
See the forum FAQ: https://forums.oracle.com/message/9362002 -
Hello,
I have following message and I am wondering what need to correct.
Invalid exists/not exists condition: ORA-00928: missing SELECT keyword
Thanks in advance,
EB NYEB,
it looks like for one of your items, the condition or the validation is set to (exist or does not exisit..) .If this is not something done by mistake, then please provide us with the query you are using to verify.
Thanks,
Sam
Please reward good answers by marking them correct or helpful!
Maybe you are looking for
-
S-Video to Digital TVA RCA ports
I have a V5000 3 yr old Compaq Presario notebook and I am trying to connect a 4 pin S video cable (with an audio line) from the notebook s-video jack to the RCA ports on a sony digital TV. The sound comes through, but no picture. When I hit functio
-
I cannot load program for neat receipts for mac
I cannot load software for Neat Works for Mac. Can anyone help me?
-
How can photos be xferred from Facebook to Photo Album app in IPAD2?
In IPAD2, is it possible to send photos from Facebook to Photo Album app? If so, how?
-
Hi there, I have an array of bytes already, and I am trying to read it, and it just prints some funny characters. I am using the following code I would really appreciate it if someone can help me. Thanks in advance.. header is the byte array of size
-
"best practice" documentation for installing/upgrading Apache 2, php, mysql
does any documentation exist for the recommendation procedures for installing/upgrading Apache 2, mysql, php ??? thanks