How to insert data into the table of plain text stored as a CLOB in another table
Hi people,Maybe it's an easy question for someone who is more frequently used files and CLOB.
I have a table that stores text files in the CLOB column. Files text includes some basic data that I want to load in the other - a text line = a new insert for me. Is there a "trick" how to do it effectively?
Here is my model:
Table OS_IMPORT_DOCS, stores the complete files as CLOB
SQL> desc OS_IMPORT_DOCS
Name Type Nullable Default Comments
------------- -------------- -------- ------- --------
OBJECT_ID NUMBER
DATUM_ZMENY DATE sysdate
FILE_PATH VARCHAR2(4000) Y
FILE_NAME VARCHAR2(4000) Y
FILE_SIZE NUMBER Y
LAST_MODIFIED DATE Y
DOCUMENT CLOB Y
STATUS VARCHAR2(15) Y 'NEW'
Sample data from OS_IMPORT_DOCSSQL> select *
2 from os_import_docs d
3 order by d.last_modified desc
4 ;
OBJECT_ID DATUM_ZMENY FILE_PATH FILE_NAME FILE_SIZE LAST_MODIFIED DOCUMENT STATUS
---------- ----------- ------------------------------ --------------- ---------- ------------- ----------- ---------------
1815043 13.8.2012 1 d:\data\C120813.DAT C120813.DAT 16800 13.8.2012 16: <<CLOB>> NEW
1815042 13.8.2012 1 d:\data\C120812.DAT C120812.DAT 3600 12.8.2012 22: <<CLOB>> NEW
1815041 13.8.2012 1 d:\data\C120811.DAT C120811.DAT 1800 11.8.2012 13: <<CLOB>> NEW
Example of file CLOB - stored text data (select d.document from os_import_docs d where d.object_id = 1815042 ;)061053120820120000AGT000002Osoby 0000000042301000000017210632
062322120820120000AGT000002Osoby 0000000012301000000017197566
063526120820120001AGT000002Osoby 0000000012301000000017197566
064234120820120001AGT000002Osoby 0000000103301000000162218777
Above the example text includes "columns" in plain text:timestamp - 1-14, SSMIHH24DDMMYYYY position format
flag - post 15-18
company code - position 19-27
etc...
How can I query data stored within the OS_IMPORT_DOCS. The DOCUMENT column, divide it into columns and insert into another table?
I have to read this method of 'online' file?
Thank you very much
Tomas
For the first three columns:
SQL> create type TRecord is object (
2 ts timestamp
3 , flag varchar2(4)
4 , company_code varchar2(9)
5 );
6 /
Type created
SQL>
SQL> create type TRecordTable is table of TRecord;
2 /
Type created
SQL>
SQL> create or replace function parse_clob (p_doc in clob)
2 return TRecordTable pipelined
3 is
4 lf number;
5 eol varchar2(2) := chr(10);
6 eollen number := length(eol);
7 line varchar2(32767);
8 offs number := 1;
9 begin
10 loop
11 lf := dbms_lob.instr(p_doc, eol, offs);
12 if lf != 0 then
13 line := dbms_lob.substr(p_doc, lf - offs + 1 - eollen, offs);
14 offs := lf + eollen;
15 else
16 line := dbms_lob.substr(p_doc, dbms_lob.getlength(p_doc) - offs + 1, offs);
17 end if;
18 pipe row (
19 TRecord(
20 to_timestamp(substr(line, 1, 14), 'HH24MISSDDMMYYYY')
21 , substr(line, 15, 4)
22 , substr(line, 19, 9)
23 )
24 );
25 exit when lf = 0;
26 end loop;
27 end;
28 /
Function created
SQL>
SQL> select t.*
2 from os_import_docs d
3 , table(parse_clob(d.document)) t
4 where d.object_id = 1815042;
TS FLAG COMPANY_CODE
-------------------------------------- ---- ------------
12/08/12 06:10:53,000000 0000 AGT000002
12/08/12 06:23:22,000000 0000 AGT000002
12/08/12 06:35:26,000000 0001 AGT000002
12/08/12 06:42:34,000000 0001 AGT000002
Tags: Database
Similar Questions
-
How to insert data into the table by using the expression builder in the assign activity
How to insert data into the table by using the expression builder in affect business in BPEl, I use SOA Suite 11.1.1.5
Can someone help me pleaseHello
I don't think that oraext:query-database() can insert data into the table.
What are your needs?
Can not you plan to use the DB adapter with the insert operation?Kind regards
Neeraj Sehgal -
What trigger to use to insert data into the table db forms
Hello
My form is current having a block of database with the table reference. When you enter data into the form field and click Save. Automatically record is inserted in the database table.
I want to do this under manual insert. I changed the block of data to a data non-base. Where should I write the insert statement to insert data into the table.
Is - shutter release key of the form-level validation?
Please notify.
Thank you
Didi.You can guide me how to remove the message FRM-40401 no changes to save and instead, I wanted to put 1 transaction record successful... some like it like that.
Hi didi.
And this is my last post I'll sleep. ;)
Take form level trigger named preform
and write on it:SYSTEM.MESSAGE_LEVEL := 5;
I hope this works...
Hamid
Mark correct/good to help others to get the right answers. *
-
How to insert data into the database using smartview
Hello
I am trying to insert data into the database using * "Send data" * button on the Ribbon of Essbase.
My database is empty.
I opened an ad hoc network, it returns * "#missing" * in all cells
I have modified the cells and provided data in the cells that I want to. Now, I supported on * "Send data" * button.
It just reloaded the adhoc grid instead of submit data, I rechecked the data through data console Administrative Service are not inserted.
I am following the right way to insert data? If not, could you please suggest me how (Populate) insert default data in the database?
--
VINETYou go about it the right way, once you have submitted if you réactualisiez then data values should be there, if you POV is against members of dynamic calc and then data not written to the database, you need to check the Member properties of your POV.
See you soon
John
http://John-Goodwin.blogspot.com/ -
How to insert data into the BLOB column
Hi all
Can someone help me to insert data in the BLOB data type column?
The structure of the table is
CREATE TABLE XXATFL_DM_FORCAST_STG
(
TASK_ID NUMBER,
USER_ID NUMBER,
CREATED_BY NUMBER (15),
CREATION_DATE DATE,
LAST_UPDATED_BY NUMBER (15),
DATE OF LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN NUMBER (15),
RECORD_STATUS VARCHAR2 (1 BYTE),
ERROR_MESSAGE VARCHAR2 (4000 BYTE),
DATA_FILE BLOB
)
I want to insert data into the column DATA_FILE. and this insert statement inside a procedure.
Please help me as soon as possible because it is very urgent for me
Thank you and best regards,
CharrierCharrier,
If you form the string yourself, you can use the function utl_raw.cast_to_raw on your channel.
http://download.Oracle.com/docs/CD/B12037_01/AppDev.101/b10802/u_raw.htm#997086
sql> create table t( 2 id number, 3 l_blob blob 4 ); sql> insert into t values(1, utl_raw.cast_to_raw('SampleString')); 1 row created. sql> commit; Commit complete.
-
How to load data into the table of correspondence in OIM 11 g
Hello
I have a lot of data that must be loaded into the table of choice as Codekey and decode. How can I load the data in bulk instead of manually via console Design?
Is it possible to do? No API IOM or any what SQL query
Kind regards
JSHere's what you need to get.
psLookupCode - search name,
psValue - Code key
psDescriptivevalue - DecodeKeyThe rest can be empty.
addLookupValue
void addLookupValue (java.lang.String psLookupCode,
java.lang.String psValue,
java.lang.String psDescriptiveValue,
java.lang.String psLanguage,
java.lang.String psCountry)
throws Thor.API.Exceptions.tcAPIException,
Thor.API.Exceptions.tcInvalidLookupException,
Thor.API.Exceptions.tcInvalidValueException,
tcAPIException adds a new entry for the specified searchParameters:
psLookupCode - the Code for the definition of research
psValue - the value that will be stored in the database
psDescriptiveValue - a descriptive version of the value to be added
psLanguage - the language for the added entry. Leave blank to accept the default value (en)
psCountry - country for the specified entry. Leave blank to accept the default (US)Throws: tcAPIException tcInvalidLookupException - thrown if the search Code is no tcInvalidValueException - thrown if the value cannot be added to the list of choices (because it's a double, etc.)
M
-
Hi all
I use forms [32 bit] Version 6.0.8.24.1 (Production)
Oracle Database 10g Release 10.2.0.1.0 - Production
I have settings such as the (optional) emp_code and the year (mandatory field - four digits).
Based on the setting that I have to get the detail of a table and these must be inserted at the other table with columns of additions (to hardcode the additional columns).
To achieve this, I intend to get a cursor by selecting the required fields in the table by the way the where clause of the cursor parameters.
by making a loop through the cursor I will insert the records in the other table.
Here, the thing is that the data is going to be huge (since the year is the parameter).
so my approach causes the performance issue.
I heard that there is a different method of insetions
can anyone suggest me the best way (performance wise) other than what I mentioned (if you are aware of)...
Thank you...user13329002 wrote:
Thanks for everyone.
I have to take the data from the table as e_name, e_code, of the table and insert it into another table with some other values such as
e_name, e_code, as well as I add 'n', 'o'.
its something likeinsert into e_emp(emp_name,emp_code,emp_add,emp_status,emp_type) select e_name,e_code,e_add,'O','N') from e_table where e_date = Parameter.
in other words, the values for Emp_status, emp_type I have no values in the e_table.so table and enter in e_table I have to hard code it.
CAL I hard code as I mentioned in my statement examplecan someone clear me of the foregoing.
Thank you...
Published by: user13329002 on February 15, 2011 20:11
Yes... You can hardcode the values for Emp_status, emp_type.
SQL> CREATE TABLE e_emp(emp_code NUMBER(10),emp_status VARCHAR2(1),emp_type VARCHAR2(1)); Table created. SQL> create table e_table as (select * from e_emp); Table created. SQL> INSERT INTO e_table(emp_code) VALUES('1111'); 1 row created. SQL> insert into e_table(emp_code) values('2222'); 1 row created. SQL> select * from e_table; EMP_CODE E E ---------- - - 1111 2222 SQL> insert into e_emp(emp_code,emp_status,emp_type) (select emp_code,'0','N' from e_table); 2 rows created. SQL> select * from e_emp; EMP_CODE E E ---------- - - 1111 0 N 2222 0 N SQL>
I hope this helps.
Kind regards
Claudy -
Insert data into the table without using the insert or select the command
Hello
Is there anyway to insert data from one table to another table, without using insert, and then select the command in the same pattern.
Note: the two tables have the same structure.ALTER table... Swap partition...
-
How to insert data into the initialization blocks
I want to connect the user which connect to the obiee system. in the initialization, user blocks, we can get, but how to insert the date and user in the database is it in any way. Thanks in advance.The connection id is stored in the system USER session variable. You can use it to insert into the database in the initialization block.
INSERT INTO tablename (username, date) values (': USER ', sysdate);
-
Insert data into the table particular
Hello
I have a requirement to insert data from table from Oracle 10 g to Oracle 9i table.
The pom_code table should be filled with gr_product table based on a specific schema of codes - i.e. If POM Code corresponds to a specific model, then it must belong to a specific company.
FROM :: Oracle 10g database gr_product pr_code varchar2(20 byte) pr_desc varchar2(80 byte)
To :: Oracle 9i database pom_code code varchar2(12 byte) desc varchar2(100 byte) companyid Number
Thank you1. All gr_product.pr_code with following pattern should go to pom_code.code and companyid =10 a. <one digit><.><two digit><alphabet> ex code: 1.01A b. <one digit><.><two digit><alphabet><space><two alphabet> ex code: 1.01B ZF 2. All gr_product.pr_code with following pattern should go to pom_code.code and companyid =20 a. <two digit><.><one digit><alphabet> ex code: 10.1A b. <two digit><.><one digit><alphabet><space><two alphabet> ex code: 10.5A HR 3. All gr_product.pr_code with following pattern should go to pom_code.code and companyid =30 a. <alphabet><.><two digit><alphabet> ex code: B.42A b. <alphabet><.><two digit><alphabet><space><two alphabet> ex code: N.10B AT
SandyHello
The CASE expression I posted earlier does what you want?
If so, please mark the thread as "answered".
If this isn't the case, after a complete script that people can run to recreate the problem and test their ideas. Includes TABLE of CASH and INSERT statements for some examples of data for all the tables, the results you want from these sample data and your request (or INSERT statement) using the CASE expression. Report where the code you posted does not have what you need and explain how to get good results in these places. -
Insert data into the table from the flat Flie
I have a flat file save in a directory on my server. I would like to read the data from the flat file and insert into a table on the stage. The flat file data as below
01-02-03-04-05-06-07-08-09-10
Suppose that Location_stage is my table and c1 is the column name.
The data should be saved as follows
Select * from location_stage
C1
----
01
02
03
04
05
Any help will be appreciated.
Thank you
NSYou can define an external table to read data from the file and a simple view to convert the string enclosed in columns:
SQL> create directory ext_data as 'c:\'; Directory created. SQL> create table ext_locations ( 2 loc varchar2(4000) 3 ) 4 organization external 5 ( 6 type oracle_loader 7 default directory ext_data 8 access parameters ( 9 records delimited by newline 10 logfile ext_data:'ext_loc.log' 11 fields terminated by ',' (loc) 12 ) 13 location ('locations.txt') 14 ); Table created. SQL> select * from ext_locations; LOC ----------------------------------------------- 01-02-03-04-05-06-07-08-09-10 SQL> create view location_stage as 2 select regexp_substr(loc,'[^-]+',1,level) c1 3 from ext_locations 4 connect by level <= length(loc)-length(replace(loc,'-',''))+1; View created. SQL> select * from location_stage; C1 ---------------------------------------------------------------------------- 01 02 03 04 05 06 07 08 09 10 10 rows selected.
Your data is stored only in the file...
Max
-
How to insert data into the database of the fields that have already been assigned values?
Hi all
I'm sorry for the question, I'm still new to the OPS
Here's the thing.
I have 4 points messageTextInput in my page. each of these 4 field is associated with an attribute of the VO.
3 of these items have their value already defined in the processRequest of the Commander, like this:
OAMessageTextInputBean factureItem = (OAMessageTextInputBean)webBean.findChildRecursive("factureItem"); factureItem.setValue(pageContext,pnumfacture); OAMessageTextInputBean actionItem = (OAMessageTextInputBean)webBean.findChildRecursive("actionItem"); actionItem.setValue(pageContext,pidaction); Date sysDate = new Date(); OAMessageDateFieldBean dateSystemItem = (OAMessageDateFieldBean)webBean.findChildRecursive("dateSystemItem"); dateSystemItem.setValue(pageContext,sysDate);
The user must enter the value of the 4th field.
I used the classic entry code for data as follows:
in the AM, I added,
public void insertRecord(){ OAViewObject vo = getTraceVO1(); OADBTransaction trans = getOADBTransaction(); if (!vo.isPreparedForExecution()) { vo.executeQuery(); } TraceVORowImpl v_row; v_row = (TraceVORowImpl)vo.createRow(); vo.insertRow(v_row); v_row.setNewRowState(v_row.STATUS_INITIALIZED); } public void apply() { getTransaction().commit(); }
In the processRequest of the Commander, I added:
if (!pageContext.isFormSubmission()) { am.invokeMethod("insertRecord",null); }
in the processFormRequest of the CO, I added:
if(pageContext.getParameter("submitButtonItem")!=null){ am.invokeMethod("apply"); throw new OAException("Trace Created successfuly",OAException.CONFIRMATION); }
When I run my page, I get the error message saying that myVO not records, the records were removed or the view instance has been initialized incorrectly.
Can someone please tell me what this means?
Kind regards
Afaf
Afaf,.
Please try to use the code below and see what happens:
Replace the insertRecord in the AM method with this.
Import oracle.jbo.domain.Number;
public void insertRecord(String pnumfacture, String pidaction){ System.out.println("been in insert method"); OAViewObject traceVO = getTraceVO1(); OADBTransaction trans = getOADBTransaction(); /*if (!traceVO.isPreparedForExecution()) { traceVO.executeQuery(); } */ traceVO.setWhereClause(null); traceVO.setWhereClauseParams(null); traceVO.setWhereClause("1=2"); traceVO.executeQuery(); Number pidAction; try{ pidAction = new Number(pidaction); }catch(Exception e) {} TraceVORowImpl traceVORow; traceVORow = (TraceVORowImpl)traceVO.createRow(); traceVORow.setIdFacture(pnumfacture); traceVORow.setIdAction(pidAction); traceVORow.DateSysteme(this.getOADBTransaction().getCurrentDBDate()); traceVO.insertRow(traceVORow); //traceVORow.setNewRowState(traceVORow.STATUS_INITIALIZED); System.out.println("been in insert method"); }
Replace the processRequest of the second Commander by this:
public void processRequest(OAPageContext pageContext, OAWebBean webBean) { System.out.println("first time in processForm of CO2"); String pnumfacture = null; String pidaction = null; super.processRequest(pageContext, webBean); OAApplicationModule am = (OAApplicationModule)pageContext.getApplicationModule(webBean); if(pageContext.getParameter("pnumfacture")!=null) { pnumfacture = pageContext.getParameter("pnumfacture").toString(); } if(pageContext.getParameter("pidaction")!=null) { pidaction = pageContext.getParameter("pidaction").toString(); } System.out.println("been in processRequest before assign variables of CO2"); System.out.println("pnumfacture :" + pnumfacture); System.out.println("pidaction :" + pidaction); /*assign values to the 3 fields*/ /* Date sysDate = new Date(); OAMessageTextInputBean factureItem = (OAMessageTextInputBean)webBean.findChildRecursive("factureItem"); factureItem.setValue(pageContext,pnumfacture); System.out.println("been in processRequest after assign variables of CO2"); OAMessageTextInputBean actionItem = (OAMessageTextInputBean)webBean.findChildRecursive("actionItem"); actionItem.setValue(pageContext,pidaction); OAMessageDateFieldBean dateSystemItem = (OAMessageDateFieldBean)webBean.findChildRecursive("dateSystemItem"); if(dateSystemItem != null) { dateSystemItem.setValue(pageContext,sysDate); } */ Serializable parameters[] = {pnumfacture, pidaction}; Class paramTypes[] = {String.class, String.class}; am.invokeMethod("insertRecord",parameters, paramTypes); System.out.println("been in processRequest of CO2 after invokeMethod"); }
Let us know what happens.
You can get an error that I have just change this in Textpad and may have syntax errors. If you can't fix those apply here.
See you soon
AJ
-
How to insert data into a BLOB column using sql
Hi all
How to insert data into the BLOB column directly using sql.
Thank youcreate table temp ( a blob, b clob); SQL> / Insert into temp values ('32aasdasdsdasdasd4e32','adsfbsdkjf') ; * ERROR at line 1: ORA-01465: invalid hex number Please help in this.
Prakash PInsert into temporary values (UTL_RAW. CAST_TO_RAW ('32aasdasdsdasdasd4e32'), 'adsfbsdkjf');
-
Button insert data to the table
Hello
I use APEX 4.2.3 with XE, I try to insert data into the table using code below but nothing happen when I press the button, create this button like 'create a button to point to page'-> 'dynamic action'-> 'run pl/sql '.
begin insert into dummy values('xx'); commit; end;
So to clarify, you have
(1) created a button that "action" is "defined by the dynamic action.
(2) created a dynamic action that executes pl/sql at the click on the button and you are pl/sql?
-
Insert data into the source of destinator Table
Hi all
Need to insert data in sample_table1 table xxc_source_table sample_table2
create table xxc_source_table (DESCRIPTION varchar2 (10));
Insert the table xxc_source_table values('A201.) ABC.4084.GR');
create table sample_table1 (col_1 varchar2 (10), col_2 varchar2 (10), col_3 varchar2 (10), col_4 varchar2 (10));
create table sample_table2 (col_1 varchar2 (10), col_2 varchar2 (10), col_3 varchar2 (10), col_4 varchar2 (10), moved_flag varchar2 (2));
col_1 = A201
col_2 = ABC
col_3 = 4084
col_4 = GR
Note: Insert data into the col_1, the col_3, the col_4 of the xxc_source_table sample_table1
(2) if the next (form xxc_source_table) data is exist in the sample_table2, and then set the moved_flag as Y in this column
3) xxc_source_table has 17000 lines
Thank you.
Post edited by: Rajesh123 please do not consider cross the line message
Hi Renon,
Why you don't want substr and instr? For best performance, you should go with substr and instr instead of regexp_substr. However you asked me to provide the code instead of substr and InStr. Then try the below...
INSERT ALL
IN VALUES sample_table1 (col1, col2, col3, col4)
IN sample_table2 VALUES (col1, col2, col3, col4, 'Y')
SELECT REGEXP_SUBSTR (DESCRIPTION,'[^.] +', 1, 1) col1,.
REGEXP_SUBSTR (DESCRIPTION,'[^.] +', 1, 2) col2.
REGEXP_SUBSTR (DESCRIPTION,'[^.] +' 1, 3) col3.
REGEXP_SUBSTR (DESCRIPTION,'[^.] +' 1, 4) col4
OF xxc_source_table;
Thank you
Ann
Maybe you are looking for
-
Update iphone 6s at ios10, taken helmet collapsed work
Hello I use iphone 6 s 64 GB of 5 months, recently I updated to ios10. After updating, my headphone jack is not working properly, my apple headphones work perfectly (checked with other devices), or even phone detects the headset, but they do not work
-
Wrong dialing code when connecting by WM5 with modem F3507g
Hello everyone.Having trouble using Wireless Manager 5 with my GSM provider.Supplier: Active-KZ (I live in the Kazakhstan)They need to dial * 99 # for connection to the internet service GPRS/EDGE.By default, WM5 creates connection with number * 99 *
-
Hello I just got the Q190 (57312246), and I was wondering if I can improve his memory of 4 GB (current) to 8 GB? Some sites say yes, others say no. Thank you
-
Hello. I use visa and serial Protocol in my vi n want to save the data from MCU in labview to txt file format which, in the data record in each row not each tab. I want to just save not given time. Meanwhile, I plot the data in the chart. I search in
-
BlackBerry Smartphones Oh PLEASE hellp me :(
It's terribly frustrating. I want to download apps, and I get a pop up asking me to connect. So I open a session, using my e-mail address and password and I get 'invalid blah blah blah'... try again, same thing. Decide to click on 'forgot password' -