ORA-00900 invalid SQL statement
Hello
I'm under code below
Start
for c_masteraccntfirmcustid in (select regexp_substr (substr (substr ("AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1), length 0, (substr ("AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1))-1), "[^,] (+', 1, level) col_val of the double connection by regexp_substr (substr (substr ("AND WB0. " MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1), length 0, (substr ("AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1))-1), "[^,] (+', 1, level) is not null)"
loop
dbms_output.put_line (c_masteraccntfirmcustid.col_val);
-dbms_output.put_line ('Hi');
end loop;
end;
This gives me the Ora-900
but under work
Select regexp_substr (substr (substr ("AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1), length 0, (substr ("AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1))-1), "[^,] (+', 1, level) col_val of the double connection by regexp_substr (substr (substr ("AND WB0. " MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1), length 0, (substr ("AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091)', instr ("AND WB0. MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091) ',' (()) + 1))-1), "[^,] (+', 1, level) is not null"
The requirement is AND WB0. MASTERACCNTFIRMCUSTID (742254777, 2531215, 2568091), this string I need
742254777
2531215
2568091
one by one and then I'll create a dynamic SQL for each of these values.
Could you please help?
Thank you
Patricia
I have run your PL/SQL block, but do not make a mistake.
What is your version of the database?
BEGIN FOR c_masteraccntfirmcustid IN (SELECT regexp_substr(SUBSTR(SUBSTR('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)', instr('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)','(')+1), 0, LENGTH(SUBSTR('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)', instr('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)','(')+1))-1),'[^,]+', 1, level) col_val FROM dual CONNECT BY regexp_substr(SUBSTR(SUBSTR('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)',instr('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)','(')+1), 0, LENGTH(SUBSTR('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)',instr('AND WB0.MASTERACCNTFIRMCUSTID in (742254777, 2531215, 2568091)','(')+1))-1), '[^,]+', 1, level) IS NOT NULL ) LOOP dbms_output.put_line(c_masteraccntfirmcustid.col_val); --dbms_output.put_line('Hi'); END LOOP; END;
Tags: Database
Similar Questions
-
I'm getting "ORA-00900: invalid SQL statement" error. ?
I installed oracle 11 GR 2. and 'DBMS_METADATA_DIFF.COMPARE_ALTER ('TABLE', 'TBL_A', 'TBL_A','USER1 ','USER2 ')"to see the result as below, but I'm" ORA-00900: invalid SQL statement "error. Any idea?
I use:
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
AMT 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') of double
expected result:
DBMS_METADATA_DIFF.COMPARE_ALTER ('TABLE', 'TBL_A', 'TBL_A', 'U1', 'U2')
--------------------------------------------------------------------------------
ALTER TABLE 'U1 '. "" ADD TBL_A "(DATE OF THE"FIELD_A3")
ALTER TABLE 'U1 '. "" TBL_A "DROP ("FIELD_A6")
ALTER TABLE 'U1 '. "" CHANGE TBL_A ' ("FIELD_A2' VARCHAR2 (50))
ALTER TABLE 'U1 '. "" TBL_A ' CHANGE ("FIELD_A4" NUMBER (5.2) DEFAULT 0)
ALTER TABLE 'U1 '. "" CHANGE TBL_A ' ('FIELD_A4' NULL)
ALTER TABLE 'U1 '. "" CHANGE TBL_A ' ('FIELD_A5' ACTIVATE NOT NULL)Thanks for the reply rp,
I got the result using "select dbms_metadata_diff.compare_alter ('TABLE', 'TBL_A', 'TBL_A', 'USER1', 'USER2') from dual"
-
error SQL ORA-00900: invalid SQL statement
Hi all
I'm new to sql and I'm trying to solve this problem, I have here.
When 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).
Call_time 'HH24:MI:SS'),
ROW_NUMBER)
COURSES (SORTING CID CID NULLS FIRST PARTITION)
AS call_id1
OF test_1
)
SELECT SUM (call_time)
FROM t1;
output:
I get the error: ORA-01722: invalid number
table structure:
Select * form test_1;
CID TYPE LG_END_TIME LG_START_TIME
1508643 expedition 2012/12/03 14:05 2012/12/03 14:02
1508643 treatment 2012/12/03 14:00 03/12/2012 14:00
1508643 initiation 2012/12/03 14:00 03/12/2012 14:00
1508662 expedition 2012/12/03 14:18 2012/12/03 14:16
1508662 initiation 2012/12/03 14:01 03/12/2012 14:01
1508662 treatment 2012/12/03 14:02 03/12/2012 14:01
1508643 expedition 2012/12/03 14:02 03/12/2012 14:00
1508662 expedition 2012/12/03 14:16 2012/12/03 14:02
Thanks for your helpI think this example might help.
SQL> select decode(call_id1,99,null,cid) cid, 2 decode(call_id1,99,null,type) type, 3 decode(call_id1,99,null,to_char(call_time,'hh24:mi:ss')) call_time, 4 decode(call_id1,99,null,substr(call_id1,1,5)) call_id1, 5 total_time 6 from (select cid, 7 type, 8 call_time, 9 call_id1, 10 total_time 11 from (select cid, 12 type, 13 call_time, 14 call_id1, 15 null total_time 16 from (SELECT CID , 17 TYPE, 18 to_date(TO_CHAR (TO_DATE ('00:00:00', 'HH24:MI:SS') + 19 (lg_end_time - lg_start_time),'HH24:MI:SS'),'HH24:MI:SS') call_time, 20 ROW_NUMBER () OVER (PARTITION BY CID ORDER BY CID NULLS FIRST) AS call_id1 21 FROM test_1 ) t1 22 union all 23 select cid, 24 null type, 25 null call_time, 26 99 call_id1, 27 lpad(hours,2,'0')||':'||lpad(minutes,2,'0')||':'||lpad(seconds,2,'0') total_time 28 from (select cid, 29 sum(to_number(to_char(call_time,'hh24'))) + 30 trunc((sum(to_number(to_char(call_time,'mi'))) + 31 (trunc(sum(to_number(to_char(call_time,'ss')))/60)))/24) hours, 32 sum(to_number(to_char(call_time,'mi'))) + 33 (trunc(sum(to_number(to_char(call_time,'ss')))/60)) minutes, 34 (sum(to_number(to_char(call_time,'ss'))) - 35 ((trunc(sum(to_number(to_char(call_time,'ss')))/60)) * 60)) seconds 36 from (SELECT CID , 37 TYPE, 38 to_date(TO_CHAR (TO_DATE ('00:00:00', 'HH24:MI:SS') + 39 (lg_end_time - lg_start_time),'HH24:MI:SS'),'HH24:MI:SS') call_time, 40 ROW_NUMBER () OVER (PARTITION BY CID ORDER BY CID NULLS FIRST) AS call_id1 41 FROM test_1 ) t1 42 group by cid) ) 43 order by cid, call_id1 ); CID TYPE CALL_TIME CALL_ID1 TOTAL_TIME ---------------------------------------- -------------------- --------- -------- ---------- 1508643 Dispatching 00:02:06 1 1508643 Initiation 00:00:00 2 1508643 Treatment 00:00:39 3 1508643 Dispatching 00:02:50 4 00:05:35 1508662 Treatment 00:01:03 1 1508662 Initiation 00:00:00 2 1508662 Dispatching 00:13:17 3 1508662 Dispatching 00:02:43 4 00:17:03 10 rows selected SQL>
-
to DECLARE * ERROR at line 1: ORA-00900: invalid SQL statement
This works fine when I use the System user to create a schema and then run this script.
When I create another user with grant connect, resources, create view permissions I get this error:
DECLARE
*
ERROR on line 1:
ORA-00900: invalid SQL statement
ORA-06512: at...
DECLARE
ID MY_TABLE.ID%TYPE;
tNom my_table. % TABLENAME TYPE;
PName MY_TABLE_TWO. PROPERTYNAME % TYPE;
CURSOR c1 IS
SELECT distinct evt.id, evt. TABLENAME, vid.propertyname
FROM my_table evt, vid MY_TABLE_TWO
WHERE the evt. COL_1 = 1
AND evt. COL_2 = vid. COL_2
and not exists (select facts FROM MY_TABLE_THREE 1)
where evt.id = facts.eventid and facts.displayname = vid.propertyname);
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO id, tNom, pname;
OUTPUT WHEN c1% NOTFOUND;
INSERT INTO MY_TABLE_THREE (ID, COLUMNLENGTH)
VALUES (S_ANALYTICS_SEQUENCE.nextval, 255);
RUN IMMEDIATELY 'ALTER TABLE ' | tNom | 'Add ' | PName | ' _ NVARCHAR2 (255);
END LOOP;
CLOSE c1;
END;Hello
Maybe missing a privilege. If I were you, I'll try this first:
DECLARE id MY_TABLE.ID%TYPE; tname MY_TABLE.TABLENAME%TYPE; pname MY_TABLE_TWO.PROPERTYNAME%TYPE; CURSOR c1 IS SELECT DISTINCT evt.id, evt.TABLENAME, vid.propertyname FROM MY_TABLE evt, MY_TABLE_TWO vid WHERE evt.COL_1 = 1 AND evt.COL_2 = vid.COL_2 AND NOT EXISTS (SELECT 1 FROM MY_TABLE_THREE facts WHERE evt.id = facts.eventid AND facts.displayname = vid.propertyname); BEGIN OPEN c1; LOOP FETCH c1 INTO id, tname, pname; EXIT WHEN c1%NOTFOUND; INSERT INTO MY_TABLE_THREE (ID, COLUMNLENGTH) VALUES (S_ANALYTICS_SEQUENCE.NEXTVAL, 255); DBMS_OUTPUT.put_line('ALTER TABLE ' || tname || ' add ' || pname || '_ NVARCHAR2(255)'); --EXECUTE IMMEDIATE 'ALTER TABLE ' || tname || ' add ' || pname || '_ NVARCHAR2(255)'; END LOOP; CLOSE c1; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line(SQLERRM); END; /
Using this approach, you can see the sentences to run without run, I also added an exception block.
Kind regards
-
ORA-00900: the SQL statement invalid when you run for immediate assistance.
Hello
I write code simple db is 9.2.0.8
Trying to collect statistics of the table with the selected partition but mess up something with... something :)create or replace procedure gather_part_stats(p_schema in varchar2, p_table in varchar2) as l_quarter varchar2(8) := to_char(sysdate, '"Y"YYYY"_Q"q') ; l_sql varchar2(2000) := 'exec dbms_stats.gather_table_stats(:schema, :table, method_opt => ''for all columns size 1'' , cascade => true , estimate_percent => 1 , granularity => ''PARTITION'', partname=>:part);'; begin dbms_output.put_line('l_quarter: ' || l_quarter); dbms_output.put_line(l_sql); execute immediate l_sql using in p_schema, in p_table, in l_quarter ; end; /
I use use to avoid sql injection, please advice.
Error is:
SQL > gather_part_stats exec ('TEST', 'TEST');
l_quarter: Y2012_Q2
exec dbms_stats.gather_table_stats (: schema,: table, method_opt = > ' for all columns size 1', cascade = > true, estimate_percent = > 1, granularity = > 'PARTITION', partname = >: part);
BEGIN gather_part_stats ('TEST', 'TEST'); END;
*
ERROR on line 1:
ORA-00900: invalid SQL statement
ORA-06512: at the 'INSTALL '. GATHER_PART_STATS', line 8
ORA-06512: at line 1
Concerning
GregGYou must use the dynamic PL/SQL
create or replace procedure gather_part_stats(p_schema in varchar2, p_table in varchar2) as l_quarter varchar2(8) := to_char(sysdate, '"Y"YYYY"_Q"q') ; l_sql varchar2(2000) := 'begin dbms_stats.gather_table_stats(ownname=>:schema, tabname=>:table, method_opt => ''for all columns size 1'' , cascade => true , estimate_percent => 1 , granularity => ''PARTITION'', partname=>:part); end;'; begin dbms_output.put_line('l_quarter: ' || l_quarter); dbms_output.put_line(l_sql); execute immediate l_sql using in p_schema, in p_table, in l_quarter ; end; /
-
00900 invalid SQL statement error
I am myself to write stored procedures, teacher in TOAD 10.5 with Oracle 10 g. I get the error ORA-00900: invalid SQL statement. Here's the code, cut to the minimum sample size strip. I don't see where I'm doing something wrong.
If I cut out the slider (take it down to just "Begin" and "End"), it runs, but I don'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
C_MAIN OPEN;
LOOP
EXTRACT THE C_MAIN IN V_HELLO;
WHEN THE OUTPUT C_MAIN % NOTFOUND;
END LOOP;
CLOSE C_MAIN;
END;
END IN_PROCESS_CASES_BOS;
/select * from user_errors; NAME TYPE SEQUENCE LINE POSITION ------------------------------ ------------ ---------- ---------- ---------- TEXT -------------------------------------------------------------------------------- ATTRIBUTE MESSAGE_NUMBER --------- -------------- IN_PROCESS_CASES_BOS PROCEDURE 1 21 1 PLS-00103: Encountered the symbol "END" ERROR 103
You have an extra END; Remove it and the procedure compiles and runs.
-
ORA-00900: invalid SQL ORA-06512 statement: on line 57
I Wast trying to execute this statement
EXECUTE immediate ' host (mkdir'| direcotry |') ' ;
My destination path directory. I can't run a host command in plsqlassuming that your database is installed on the windows platform and you try to create the directory is on the same server. try to create a batch file that takes parameters and use the DBMS_SCHEDULER to run an external command.
Batch file name make.bat
@echo off mkdir %1
your pl/sql script
BEGIN dbms_scheduler.create_job(job_name => 'AUTO_CREATE_DIRECTORY', job_type => 'EXECUTABLE', job_action => 'c:\myscript\make.bat', number_of_arguments => 1, start_date => SYSTIMESTAMP, enabled => FALSE, comments => 'Auto Create Directory'); dbms_scheduler.set_job_argument_value('AUTO_CREATE_DIRECTORY', 1, argument_value=> 'mydir'); dbms_scheduler.enable('AUTO_CREATE_DIRECTORY'); END; /
Note: not tested
-
ORA-00900 - the SQL commands: invalid SQL statement
Hello world
I 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 commands, regardless of the input control, I have the "ORA-00900: invalid SQL statement" message.
I can enter the command "Show all", for example, in a terminal after SQL > command prompt, it works... but not in the web interface...
I tried to import the .sql, script trought the web interface, no much result, no display in the window.
Can someone help me,
Thank youShow all is NOT a SQL command is a command that I think, not a command from pl/sql, sql more... Why not try to do a select on a table is know YOU the schema...
Thank you
Tony Miller
Webster, TX -
I am getting error - ORA-00900: invalid SQL statement when executing the following statement:
SanjaySELECT * FROM CUSTOMER
Have you looked at the suggestions of fanny?
You can try selecting ANY table in a DIFFERENT pattern?You have not provided your version of DB, try and throw more light on the issue, otherwise its going to be the exercise trail and error.
-
ORA-44003: invalid SQL name during INSERTION
I have a form that contains 4 areas (1 hidden field - iD which is the primary key, the selection list - Department, a text field - reports on the year and a field of the shuttle -. employees The user selects the Department, changing the date, and then selects the employees of the Department. When you press the button submit, a line must be inserted if ID is null. I get an ORA-44003: SQL invalid name as he tries to insert a row. Can someone please?
It is on the APEX. ORACLE.COM:
Workspace: RGWORK
Application: Disclosure of financial information (30986)
Page: 15
User: TESTER
Password: test123
Make sure that you choose the TECHNOLOGY SERVICES DESIRE for the Department.
Robert
http://apexjscss.blogspot.comHi Robert,.
There were a few issues in there:
P15_ID has been specified as a column of data, but without a source (I put in the ID)
P15_DEPT - same question (I put in the DEPT)
P15_EMPLOYEES - has been specified as a column of data with an EMPLOYEES_SELECTED source (I've corrected to EMPLOYEE_NUMBERS)Looks like it's working now.
Hope this helps,
JohnIf you find this information useful, please do not forget to mark the 'useful' or 'correct' post so that others benefit as well.
-
java.sql.SQLException: ORA-06550 and ORA-00900 call stored procedures
Hi all
I have 2 a stored procedures that I want to call from my Session bean. One of them takes a few settings, but not the other. When I call the procedures, I get the following errors described below. I tested the two stored procedures in sql plus and sqldveleoper and they work well. The funniest, it is, I have another stored procedure that I can call successfully from the same bean in session with no problems, so I'm a bit confused as to why his play now.
I use stand-alone 10.1.3.4 OC4J and Oracle 10 g Db 10.2.0.4 and platform DB that I use is Oracle10gPlatform and Eclipselink as my JPA provider. I have also tried against toplink (not toplink essentials) and still no joy
Here is the error I get when I try and call the procedure which takes the parameters of the session bean
Here are my stored procedure that take parametersInternal Exception: java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'HASHDATA' ORA-06550: line 1, column 7: PL/SQL: Statement ignored Error Code: 6550 Call: BEGIN HashData(input=>?, hashedValue=>?, hashed=>?); END; bind => [password1, => hashedValue, => hashed] Query: DataReadQuery()
Here is my code in the session bean to call the procedure that takes as parameters (Hashdata)create or replace procedure hashData(input IN VARCHAR2, hashedValue OUT BLOB, hashed OUT BOOLEAN) as inputRaw RAW(2000); --hashed BOOLEAN := false; begin dbms_output.put_line('the data to be hashed is '||input); dbms_output.put_line('converting input to raw ...'); inputRaw := utl_i18n.string_to_raw(input,'AL32UTF8'); dbms_output.put_line('Hashing Data ...'); hashedValue := DBMS_CRYPTO.Hash (src=>inputRaw,typ=>DBMS_CRYPTO.HASH_SH1); dbms_output.put_line('hash is '||UTL_I18N.raw_to_char(dbms_lob.substr(hashedValue, 4000,1))); if (hashedValue is not null) then hashed :=true; dbms_output.put_line('hashedValue IS NOT null'); else hashed := false; dbms_output.put_line('hashedValue IS null'); end if; end;
When I call the other takes no parameters, I get the following error.public UserBean() { // TODO Auto-generated constructor stub sessMan = SessionManager.getManager(); session = sessMan.getSession("Session", Thread.currentThread() .getContextClassLoader()); } public Serializable hashData(String input){ logger.debug("Hashing Data ... "); hashedValue= null; boolean hashed=false; StoredProcedureCall call = new StoredProcedureCall(); ValueReadQuery query = new ValueReadQuery(); call.setProcedureName("HashData"); call.addNamedArgumentValue("input", input); call.addNamedOutputArgument("hashedValue", "hashedValue", java.sql.Blob.class); call.addNamedOutputArgument("hashed", "hashed", java.lang.Integer.class); query.addArgument("input"); query.setCall(call); session.executeQuery(query); if ((Boolean)hashed){ logger.debug("The data has been hashed and the hash value is: "+hashedValue); } else{ logger.debug("The data has could not be hashed"); hashedValue=null; } return (Serializable)hashedValue; }
Here is the procedure which takes no parametersInternal Exception: java.sql.SQLException: ORA-00900: invalid SQL statement Error Code: 900 Call: BEGIN testJPAProc(); END; Query: DataReadQuery()
Heres is the code to call procedures that take no parameterscreate or replace procedure testJPAProc is begin dbms_output.put_line('testJPAProc called'); end;
You guys can tell me where I'm wrong if I do something wrong. Why make these mistakes? because as far as I can tell the code (java and pl/sql) are both correct unless there is something I missed. It's kinda funny because I have another stored procedure I can call successfully.StoredProcedureCall call = new StoredProcedureCall(); ValueReadQuery query = new ValueReadQuery(); call.setProcedureName("testJPAProc"); query.setCall(call); session.executeQuery(query);
Thank youThe first question is that the Boolean in Oracle is not a supported JDBC type, but a PLSQL type.
Change to an INTEGER is probably the best, you can also use the PLSQLStoredProcedureCall class to access.The second problem is perhaps that the stored procedure is not valid, make sure that it compiled correctly. It can also be the type of your query, you must use a DataModifyQuery, not a read request that it returns nothing.
If still no luck, try to call directly through JDBC, it works?---
James: http://www.eclipselink.org: http://en.wikibooks.org/wiki/Java_Persistence -
ORA-00900 when you use the command COPY with dynamic SQL
Helllo,
I created the following procedure:
create or replace procedure copyTable (pSourceTableOwner IN varchar2
pSourceTableOwnerPasword IN varchar2
pTargetTableOwner IN varchar2
pTableName IN varchar2
pDatabaseLink IN varchar2)
as
vStatement varchar2 (250): = null;
Start
vStatement: = "copy of". pSourceTableOwner | '/' || pSourceTableOwnerPasword | '@' || pDatabaseLink |
"Insert" | pTargetTableOwner | '.' || pTableName | ' using select * from '. pTableName;
immediately run vStatement;
end;
/
The generated command (variable vStatement) looks like this:
"Insert a copy of O_GLCEN/o_glcen@SELLENTW o_jh. "X_PLZ_CD_MERGED_CTIS using select * from X_PLZ_CD_MERGED_CTIS".
When you call this procedure as "exec copyTable ('O_GLCEN', 'o_glcen', 'o_jh', 'X_PLZ_CD_MERGED_CTIS', 'SELLENTW');" the following lifts:
FEHLER in line 1:
ORA-00900: invalid SQL statement
ORA-06512: at "SYSTEMTECHNIK". COPYTABLE", line 20
ORA-06512: at line 1
But when you call the command COPY directly from SQL prompt the statement runs without error.
Is in general not possible to use the dynamic COPY with SQL command? If it is possible does anyone has an idea what I am doing wrong?
Any help will be appreciated...
Rgds
JHI would like to use something like
vStatement: = ' start in f (select * from ' | pSourceTableOwner |) '.' || pTableName | '@' || pDatabaseLink | Insert loop ') in ' | pTargetTableOwner | '.' || pTableName | "f-values; end loop; end; »
immediately run vStatement; -
SQL > set serveroutput on;
SQL > dbms_output.put_line ('Run');
dbms_output.put_line ('Run')
ORA-00900: invalid SQL statement
Why rise above error?Hello
279388 wrote:
SQL > set serveroutput on;
SQL > dbms_output.put_line ('Run');dbms_output.put_line ('Run')
ORA-00900: invalid SQL statement
Why rise above error?
Because dbms_output.put_line is not a SQL statement.
Select, CREATE TABLE, ALTER TABLE, MERGERS are examples of SQL statements.
You can't call procedures directly from SQL * quicker; You can, however, tellSQL> EXEC dbms_output.put_line ('Run');
-
SQL * Loader - rejected records - error on table ORA-01722: invalid number
Get the following errors:
Please tell me where I'm wrong?
The log file and extracts the data file with the control file is attached.
Also guide me please how I can download 4900 files at once?
-------------------------------------
SQL * Loader: release 11.1.0.7.0 - Production on Fri 14 Oct 03:06:06 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Control file: sample.ctl
Data file: Cities.csv
Bad leadership: Cities.bad
Discard File: none is specified
(Allow all releases)
Number of loading: ALL
Number of jump: 0
Authorized errors: 50
Link table: 64 lines, maximum of 256000 bytes
Continuation of the debate: none is specified
Path used: classics
Table CITY, loaded from every logical record.
Insert the option in effect for this table: INSERT
Column Position Len term Encl. Datatype name
------------------------------ ---------- ----- ---- ---- ---------------------
FIRST ID *, CHARACTER
35. ACCORDING TO NAME, ' CHARACTER
COUNTRYCODE 3, ' CHARACTER
THE NEXT POPULATION * CHARACTER WHT
Sheet 1: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 2: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 3: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Folder 4: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 5: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 6: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 7: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 8: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
File 9: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Case 10: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Factsheet 11: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 12: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
File 13: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Fact sheet 14: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Fact sheet 15: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 16: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
File 17: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 18: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
File 19: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 20: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 21: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Account 22: rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 23: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record number of 24: rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 25: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Fact sheet 26: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Fact sheet 27: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 28: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 29: rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 30: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record of 31: rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
• Statement 32: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 33: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Page 34: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 35: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 36: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 37: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 38: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 39: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 40: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 41: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Page 42: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 43: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Sheet 44: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 45: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
• Statement 46: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 47: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 48: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 49: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Page 50: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
Record 51: Rejected - error on the table CITY, POPULATION column.
ORA-01722: invalid number
NUMBER of MAXIMUM ERRORS EXCEEDED - above the statistics reflect partial performance.
CITY table:
0 rows successfully loaded.
51 lines not filled due to data errors.
0 rows not loading because all WHEN clauses were failed.
0 rows not populated because all fields are null.
The space allocated to bind table: 35840 bytes (64 lines)
Bytes of read buffer: 1048576
Total logical records ignored: 0
Total logical records read: 64
Total rejected logical records: 51
Total logical records ignored: 0
Run started on Fri 14 Oct 03:06:06 2011
Run finished Fri Oct 14 03:06:12 2011
Time was: 00:00:06.18
Time processor was: 00:00:00.03
----------------------------------------------------------------------
my control file (sample.ctl):
Load data infile 'Cities.csv '.
in the town of table
fields completed by «,»
(external id integer,
char (35) name box by ' ', '
CountryCode tank (3) box by ' ', '
external population integer terminated by '\n '.
)
my data (Cities.csv) file (it contains 4900 documents, but I show here just 4 records for ease)
3830, "Virginia Beach", "USA", 425257
3831, 'Atlanta', 'USA', 416474
3832, "Sacramento", "USA", 407018
3833, 'Oakland', 'USA', 399484
Thanks in advance!Watch when I have a little change your database as follows
1,'Kabul','AFG',1780000 2,'Qandahar','AFG','237500' 3,'Herat','AFG','186800'
I got the same error (last 2 rows rejected for the same number invalid error)
mhouri > select * from cities; ID NAME COU POPULATION ---------- ----------------------------------- --- ---------- 1 Kabul AFG 1780000 SQL*Loader: Release 10.2.0.3.0 - Production on Fri Oct 14 10:38:06 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Control File: cities.ctl Data File: cities.dat Bad File: cities.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 CITIES, loaded from every logical record. Insert option in effect for this table: INSERT Column Name Position Len Term Encl Datatype ------------------------------ ---------- ----- ---- ---- --------------------- ID FIRST * , CHARACTER NAME NEXT 35 , ' CHARACTER COUNTRYCODE NEXT 3 , ' CHARACTER POPULATION NEXT * WHT CHARACTER Record 4: Rejected - Error on table CITIES, column ID. Column not found before end of logical record (use TRAILING NULLCOLS) Record 2: Rejected - Error on table CITIES, column POPULATION. ORA-01722: invalid number Record 3: Rejected - Error on table CITIES, column POPULATION. ORA-01722: invalid number Table CITIES: 1 Row successfully loaded. 3 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: 35840 bytes(64 rows) Read buffer bytes: 1048576 Total logical records skipped: 0 Total logical records read: 4 Total logical records rejected: 3 Total logical records discarded: 0 Run began on Fri Oct 14 10:38:06 2011 Run ended on Fri Oct 14 10:38:06 2011 Elapsed time was: 00:00:00.23 CPU time was: 00:00:00.09
Value of the population within the data file must be a number
Best regards
Mohamed Houri
-
Please a little help... me immediately!
Calling a stored procedure. The prcodeure has 3 sliders o/p. The sliders are is filled from a table
I get an exception row ORA 1410:invalid sql - id.
Looks like the the cursor query that is thrown an exception:
SELECT limit_table.seq, limit_table.lower_limit,
limit_table.Upper_limit,
NVL (OUTER.no_of_students, 0) no_of_students,
NVL (OUTER.not_mastered, 0) not_mastered,
NVL (OUTER.mastered, 0) mastered.
NVL (OUTER.progressing, 0) is progressing
FROM (SELECT limit_table.seq, limit_table.lower_limit,
limit_table.Upper_limit, COUNTY
(*) no_of_students,.
ROUND (SUM (sum_not_mastered)
MICROFINANCE (cnt_standards)
* 100,
0
) not_mastered,.
ROUND (SUM (sum_mastered)
MICROFINANCE (cnt_standards)
* 100,
0
) controlled.
progresses of 0
FROM (SELECT mast.person_oid,
COUNTY (1) cnt_standards,
SUM
(DECODE (mast.mastery, 'n', 1, 0)
) sum_not_mastered,.
SUM
(DECODE (mast.mastery, 'Y', 1, 0)
) sum_mastered,.
0 sum_progressing
MAST CAMR.tmp_student_mastery
WHERE mast.standard_id IN ((in English only)
SELECT COLUMN_VALUE
TABLE
(CAST
(l_standard_tab AS CAMR.standards_tab
)
))
AND mast.mastery <>'NA '.
GROUP BY person_oid),
CAMR.limit_table
WHERE cnt_standards > = limit_table.lower_limit
AND cnt_standards < = limit_table.upper_limit
Limit_table.seq GROUP,
limit_table.Lower_limit,
limit_table.Upper_limit) EXTERNAL.
limit_table
WHERE limit_table.seq = OUTER.seq (+)
ORDER BY limit_table.seq;Hmm, in that case, I wonder if the problem is issued autocommits and your TWG is defined as "ON COMMIT DELETE" as in this post: global temporary tables to return results to the client application ODP.NET games ?
Maybe you are looking for
-
Satellite L650-I5310: Ubuntu power management can't see the battery option
I installed ubuntu 10.04 version.On the power management, I don't see battery option. on the ac power and General option screen sees but can't see 'on battery '.I think that the battery is unable to detect.How can I solve this? also in the Panel, I s
-
error 80040154 Grand Vista Home Prmiun
Windows Update carga y smsxite.com veces el mismo trio of plots, pero eso infinidad're en apariencia in realidad no hay cargada none technical aunque el historial diga lo contrario
-
Homepage has been changed per child to Google how can I know which was the former home page setting? I'm computer DUMB! Laughing out loud!
-
The desktop folder appears suddenly as the Menu bar to the right of the screen
One of my office files containing approximately 15 Sub-folders is now appear on the right side of the screen as a bar of menus from the top down. All subfolders are listed vertically as a menu bar. How can I get rid of this? The original folder ap
-
Sharing of the best scores App with Contacts
I was wondering how I could allow users to see what their friends scored on a game app. Is there access to a list of contacts? Take a step away, just a possibility, I think about everything, but is there a way for users to share created contained wit