Selection of data into a table
Hello
I'm trying to enter data in a table by using an instruction box to select the values of interest.
The problem is this, I am under a for loop and every time that it runs, it reads a specific value in the table (table 1), using the for loop index as the index for table 1. So I check whether this specific value = preset value
If Yes: the case statement writes the index in a table (table 2).
If it is not: the case statement writes a constant - I would like to not have to do, but unfortunately the case loop must have all the input terminals connected.
I would like the main table consist only of interest and no default values / values constant.
Any ideas?
You're abusing table to build. Wire you a table in a table entry and other values or the other. See the example I have attached.
Tags: NI Software
Similar Questions
-
Select the data in a table and update in another table
Dear experts,
create the table TB_ENCRYPT
(
Identification number,
Varchar2 (200) KEY
);
INSERT INTO TB_ENCRYPT VALUES(1,'HJUVHDUIFBSDGVU');
SELECT * FROM TB_ENCRYPT;
1 HJUVHDUIFBSDGVU
create TABLE users)
username, NUMBER of
password VARCHAR2 (200)
);
Insert users
values (1, 123 # "")
Insert users
values (2, 456 #')
Select * from users;
1 123 #.
# 2 456
I want to select the data KEY for table TB_ENCRYPT column and update in the column of tables for the respective key user password
TB_ENCRYPT table contains only a single key value. Comparing this key, I want to update the old value of the key to the new value.
For encryption and decryption I followed the java class method.no is worried about that.
create or replace
PACKAGE PCK_ENC AUTHID CURRENT_USER AS
FUNCTION DECRYPT (VARCHAR arg0, arg1 VARCHAR) AS VARCHAR BACK LANGUAGE JAVA NAME 'Encrclass.decrypt (java.lang.String, java.lang.String) return java.lang.String ';
FUNCTION ENCRYPT (VARCHAR arg0, arg1 VARCHAR) AS VARCHAR BACK LANGUAGE JAVA NAME 'Encrclass.encrypt (java.lang.String, java.lang.String) return java.lang.String ';
END;
SELECT PCK_ENC. ENCRYPT('1234','HJUVHDUIFBSDGVU') FROM DUAL;
HERE,
1234 - is the password of the users table column data
HJUVHDUIFBSDGVU - represents the key of table TB_ENCRYPT column data.
Comparing this key, I want to update the old value of the key to the new value.
I tried with this method
declare
cursor c1 is
Select the key
of TB_ENCRYPT
where id = 1
update the id;
Start
for c1_rec looping c1
update users
password is PCK_ENC. Encrypt (Password, Key)
the location being c1;
commit;
end loop;
end;
/
Help, please
You can use the MERGE statement.
merge into users using tb_encrypt on (id = userid) when matched then update set password = PCK_ENC.ENCRYPT(password,key);
And why you encrypt your password. This isn't a good idea. Just password hash.
-
SQL Loader loading data into two Tables using a single CSV file
Dear all,
I have a requirement where in I need to load the data into 2 tables using a simple csv file.
So I wrote the following control file. But it loads only the first table and also there nothing in the debug log file.
Please suggest how to achieve this.
Examples of data
Source_system_code,Record_type,Source_System_Vendor_number,$vendor_name,Vendor_site_code,Address_line1,Address_line2,Address_line3
Victor, New, Ven001, Vinay, Vin001, abc, def, xyz
Control file script
================
OPTIONS (errors = 0, skip = 1)
load data
replace
in the table1 table:
fields ended by ',' optionally surrounded "" "
(
Char Source_system_code (1) POSITION "ltrim (rtrim (:Source_system_code)),"
Record_type tank "ltrim (rtrim (:Record_type)),"
Source_System_Vendor_number tank "ltrim (rtrim (:Source_System_Vendor_number)),"
$vendor_name tank "ltrim (rtrim (:Vendor_name)),"
)
in the Table2 table
1 = 1
fields ended by ',' optionally surrounded "" "
(
$vendor_name tank "ltrim (rtrim (:Vendor_name)),"
Vendor_site_code tank "ltrim (rtrim (:Vendor_site_code)),"
Address_line1 tank "ltrim (rtrim (:Address_line1)),"
Address_line2 tank "ltrim (rtrim (:Address_line2)),"
Address_line3 tank "ltrim (rtrim (:Address_line3)).
)the problem here is loading into a table, only the first. (Table 1)
Please guide me.
Thank you
Kumar
When you do not provide a starting position for the first field in table2, it starts with the following after a last referenced in table1 field, then it starts with vendor_site_code, instead of $vendor_name. So what you need to do instead, is specify position (1) to the first field in table2 and use the fields to fill. In addition, he dislikes when 1 = 1, and he didn't need anyway. See the example including the corrected below control file.
Scott@orcl12c > test.dat TYPE of HOST
Source_system_code, Record_type, Source_System_Vendor_number, $vendor_name, Vendor_site_code, Address_line1, Address_line2, Address_line3
Victor, New, Ven001, Vinay, Vin001, abc, def, xyz
Scott@orcl12c > test.ctl TYPE of HOST
OPTIONS (errors = 0, skip = 1)
load data
replace
in the table1 table:
fields ended by ',' optionally surrounded "" "
(
Char Source_system_code (1) POSITION "ltrim (rtrim (:Source_system_code)),"
Record_type tank "ltrim (rtrim (:Record_type)),"
Source_System_Vendor_number tank "ltrim (rtrim (:Source_System_Vendor_number)),"
$vendor_name tank "ltrim (rtrim (:Vendor_name)).
)
in the Table2 table
fields ended by ',' optionally surrounded "" "
(
source_system_code FILL (1) POSITION.
record_type FILLING,
source_system_vendor_number FILLING,
$vendor_name tank "ltrim (rtrim (:Vendor_name)),"
Vendor_site_code tank "ltrim (rtrim (:Vendor_site_code)),"
Address_line1 tank "ltrim (rtrim (:Address_line1)),"
Address_line2 tank "ltrim (rtrim (:Address_line2)),"
Address_line3 tank "ltrim (rtrim (:Address_line3)).
)
Scott@orcl12c > CREATE TABLE table1:
2 (Source_system_code VARCHAR2 (13),)
3 Record_type VARCHAR2 (11),
4 Source_System_Vendor_number VARCHAR2 (27),
5 $vendor_name VARCHAR2 (11))
6.
Table created.
Scott@orcl12c > CREATE TABLE table2
2 ($vendor_name VARCHAR2 (11),)
3 Vendor_site_code VARCHAR2 (16).
4 Address_line1 VARCHAR2 (13),
5 Address_line2 VARCHAR2 (13),
Address_line3 6 VARCHAR2 (13))
7.
Table created.
Scott@orcl12c > HOST SQLLDR scott/tiger CONTROL = test.ctl DATA = test.dat LOG = test.log
SQL * Loader: release 12.1.0.1.0 - Production on Thu Mar 26 01:43:30 2015
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
Path used: classics
Commit the point reached - the number of logical records 1
TABLE1 table:
1 row loaded successfully.
Table TABLE2:
1 row loaded successfully.
Check the log file:
test.log
For more information on the charge.
Scott@orcl12c > SELECT * FROM table1
2.
RECORD_TYPE SOURCE_SYSTEM_VENDOR_NUMBER $VENDOR_NAME SOURCE_SYSTEM
------------- ----------- --------------------------- -----------
Victor Ven001 new Vinay
1 selected line.
Scott@orcl12c > SELECT * FROM table2
2.
$VENDOR_NAME VENDOR_SITE_CODE ADDRESS_LINE1 ADDRESS_LINE2 ADDRESS_LINE3
----------- ---------------- ------------- ------------- -------------
Vinay Vin001 abc def xyz
1 selected line.
Scott@orcl12c >
-
Doubt about inserting data into a table
Hi all, when I try to insert data into a table through an anonymous block, the pl/sql block runs successfully, but the data are not get inserted. Can someone please tell me where I am doing wrong?
Thanks in advance!SQL> DECLARE 2 3 V_A NUMBER; 4 5 V_B NUMBER; 6 7 v_message varchar2(25); 8 9 10 BEGIN 11 12 13 select regal.regal_inv_landed_cost_seq.NEXTVAL into V_A from dual ; 14 15 select regal.regal_inv_landed_cost_seq.currval into V_B from dual ; 16 17 INSERT INTO rcv_transactions_interface 18 ( 19 INTERFACE_TRANSACTION_ID, 20 HEADER_INTERFACE_ID, 21 GROUP_ID, 22 TRANSACTION_TYPE, 23 TRANSACTION_DATE, 24 PROCESSING_STATUS_CODE, 25 PROCESSING_MODE_CODE, 26 TRANSACTION_STATUS_CODE, 27 QUANTITY, 28 LAST_UPDATE_DATE, 29 LAST_UPDATED_BY, 30 CREATION_DATE, 31 CREATED_BY, 32 RECEIPT_SOURCE_CODE, 33 DESTINATION_TYPE_CODE, 34 AUTO_TRANSACT_CODE, 35 SOURCE_DOCUMENT_CODE, 36 UNIT_OF_MEASURE, 37 ITEM_ID, 38 UOM_CODE, 39 EMPLOYEE_ID, 40 SHIPMENT_HEADER_ID, 41 SHIPMENT_LINE_ID, 42 TO_ORGANIZATION_ID, 43 SUBINVENTORY, 44 FROM_ORGANIZATION_ID, 45 FROM_SUBINVENTORY 46 ) 47 48 SELECT 49 regal.regal_inv_landed_cost_seq.nextval, --Interface_transaction_ id 50 V_A, --Header Interface ID 51 V_B, --Group ID 52 'Ship', --Transaction Type 53 sysdate, --Transaction Date 54 'PENDING', --Processing Status Code 55 'BATCH', --Processing Mode Code 56 'PENDING', --Transaction Status Cod e 57 lc.quantity_received, --Quantity 58 lc.last_update_date, --last update date 59 lc.last_updated_by, --last updated by 60 sysdate, --creation date 61 lc.created_by, --created by 62 'INVENTORY', --Receipt source Code 63 'INVENTORY', --Destination Type Code 64 'DELIVER' , --AUT Transact Code 65 'INVENTORY', --Source Document Code 66 msi.primary_uom_code , --Unit Of Measure 67 msi.inventory_item_id, --Item ID 68 msi.primary_unit_of_measure, --UOM COde 69 fnd.user_id, 70 V_A, --Shipment Header ID 71 V_B, --SHipment Line ID 72 82, --To Organization ID 73 'Brooklyn', --Sub Inventory ID 74 81, --From Organization 75 'Vessel' --From Subinventory 76 77 FROM 78 regal.regal_inv_landed_cost_tab lc, 79 fnd_user fnd, 80 mtl_system_items msi 81 82 WHERE 83 lc.organization_id = msi.organization_id 84 AND lc.inventory_item_id = msi.inventory_item_id 85 AND lc.created_by = fnd.created_by; 86 87 commit; 88 v_message := SQL%ROWCOUNT; 89 dbms_output.put_line('v_message'); 90 END; 91 / v_message PL/SQL procedure successfully completed. SQL> select * from rcv_transactions_interface; no rows selected
There is no problem with inserting data!
Only there is no data! This means that your select statement retrieves no rows.
You can see the output of your program (0). This means that there where no line in the result set.Please check the output of your tax return independently:
SELECT -- regal.regal_inv_landed_cost_seq.nextval, --Interface_transaction_id -- V_A, --Header Interface ID -- V_B, --Group ID 'Ship', --Transaction Type sysdate, --Transaction Date 'PENDING', --Processing Status Code 'BATCH', --Processing Mode Code 'PENDING', --Transaction Status Code lc.quantity_received, --Quantity lc.last_update_date, --last update date lc.last_updated_by, --last updated by sysdate, --creation date lc.created_by, --created by 'INVENTORY', --Receipt source Code 'INVENTORY', --Destination Type Code 'DELIVER' , --AUT Transact Code 'INVENTORY', --Source Document Code msi.primary_uom_code , --Unit Of Measure msi.inventory_item_id, --Item ID msi.primary_unit_of_measure, --UOM COde fnd.user_id, -- V_A, --Shipment Header ID -- V_B, --SHipment Line ID 82, --To Organization ID 'Brooklyn', --Sub Inventory ID 81, --From Organization 'Vessel' --From Subinventory FROM regal.regal_inv_landed_cost_tab lc, fnd_user fnd, mtl_system_items msi WHERE lc.organization_id = msi.organization_id AND lc.inventory_item_id = msi.inventory_item_id AND lc.created_by = fnd.created_by;
Published by: hm on 13.10.2011 23:19
I removed the references of the sequence and the variables V_A and YaeUb.
BTW: Why do you want to include V_A and YaeUb in two different columns?The use of sequences in your code seems a bit strange to me. But this has nothing to do with your question.
-
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 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 -
Selection of data in the table in a table
I use apex 3.2
I have a report where he returnts say 3 rows.
I need to select data from a table in and table and then use the data in this table in a body of email
or select the data in the table and use the data in the body of the sub form of e-mail
How can I do this. ?
something like below
Empno name e-mail address
1 XX [email protected]
2 bb [email protected]
3 [email protected] aaHello
You can take the values in the table in the cursor and use it in the part of the email.
It will be like,Cursor c1 is
Select Empno, emp email;In the part of the body
Hardcode the values of the columns inside html tags
l_body: = '
'; ';EmpNo I'm in c1
loop
l_body: = l_body | » ';i.EmpNo i.Name i.email
end loop;
l_body: = l_body | »then use the variable 'l_body' inside your share email.
I hope this helps.
Kind regards
LIBERATOR -
Reading file from the ftp server and importing data into the table
Hi experts,
Well, basically, I text with different layout files have been uploaded to an ftp server. Now, I must write a procedure to recover these files, read and insert data into a table... what to do?
your help would be greatly helpful.
Thank youuser9004152 wrote:
http://it.Toolbox.com/wiki/index.php/Load_data_from_a_flat_file_into_an_Oracle_tableSee the link, hope it will work.
It is an old method, using the utl_file_dir parameter that is now obsolete and which is frankly a waste of space when external tables can do exactly the same thing much more easily.
-
Inserting data into a table and insert many records into newtable
Hi all
I have table A and table b.
Suppose that if I insert the data into the table, this table is inserted, the number of records records Count I want to insert in the table B
I have to write a procedure for this cannot so any help on this.
Thanks in advance.
Sikora.Hello
You can use this anonymous block and extend it to create the procedure. You can delete loop or leave it there and use the cursor loop
DECLARE j NUMBER; BEGIN FOR i IN 1 .. 100 LOOP INSERT INTO A VALUES ('col1', 'col2', 'col3'); j := j+ sql%ROWCOUNT; END LOOP; INSERT INTO B VALUES ('table name ', j); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; DBMS_OUTPUT.put_line (SUBSTR (SQLERRM, 1, 200)); RAISE; END;
Published by: OrionNet on January 21, 2009 12:53 AM
-
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...
-
Hi friends,
I'm trying to load records into the rules of the product table of the table with the following...
create table product)
prod_id varchar2 (20).
prod_grp varchar2 (20).
from_amt number (10),
to_amt number (10),
share_amt number (10)
);
Insert into product (prod_id, prod_grp, from_amt, share_amt) Values ('10037', "STK", 1, 18);
Insert into product (prod_id, prod_grp, from_amt, share_amt) Values ('10037', "NSTK", 1: 16.2);
Insert into product (prod_id, prod_grp, from_amt, to_amt, share_amt) Values ('10038', "NSTK", 1, 5000, 12);
Insert into product (prod_id, prod_grp, from_amt, to_amt, share_amt) Values ('10038', "STK", 5001, 10000, 16);
Insert into product (prod_id, prod_grp, from_amt, share_amt) Values ('10038', "STK", 10001, 20);
Insert into product (prod_id, prod_grp, from_amt, to_amt, share_amt) Values ('10039', "NSTK", 1, 8000, 10);
Insert into product (prod_id, prod_grp, from_amt, share_amt) Values ('10039', "STK", 8001, 12);
create table rules)
rule_id varchar2 (30),
rule_grp varchar2 (10),
rate_1 number (10),
point_1 number (10),
rate_2 number (10),
point_2 number (10),
rate_3 number (10),
point_3 number (10)
);
Criteria of loading in the rules of the table:
rule_id - "RL" | Product.prod_id
rule_grp - product.prod_grp
rate_1 - product.share_amt where from_amt = 1
point_1 - product.to_amt
rate_2 - if product.to_amt in point_1 is not NULL, then find product.share_amt of the next record with the same rule_id/prod_id where from_amt (of the next record) = to_amt (current record -
point_1) + 1
point_2 - if product.to_amt in point_1 is not NULL, then find product.to_amt of the next record with the same rule_id/prod_id where from_amt (of the next record) = to_amt (current record - )
point_1) + 1
rate_3 - if product.to_amt in point_2 is not NULL, then find product.share_amt of the next record with the same rule_id/prod_id where from_amt (of the next record) = to_amt(current )
Enregistrement-point_2) + 1
point_3 - if product.to_amt in point_2 is not NULL, then find product.to_amt of the next record with the same rule_id/prod_id where from_amt (of the next record) = to_amt (current record - )
point_2) + 1
I tried to load the first columns (rule_id, rule_grp, rate_1, point_1, rate_2, point_2) via the sql loader.
SQL > select * from product;
PROD_ID PROD_GRP FROM_AMT TO_AMT SHARE_AMT
-------------------- -------------------- ---------- ---------- ----------
10037 STK 1 18
10037 NSTK 1 16
1 5000 12 NSTK 10038
10038 5001-10000-16 STK.
10038 10001 20 STK.
10039 1 8000 10 NSTK
10039 STK 8001 12
produit.dat
PROD_ID | PROD_GRP | FROM_AMT | TO_AMT | SHARE_AMT
"10037' |'. STK' | 1. 18
"10037' |'. NSTK' | 1. 16.2
'10038' |' NSTK' | 1. 5000 | 12
'10038' |' STK' | 5001 | 10000 | 16
'10038' |' STK' | 10001 | 20
"10039' |'. NSTK' | 1. 8000 | 10
"10039' |'. STK' | 8001 | 12
Product.CTL
options (Skip = 1)
load data
in the table rules
fields ended by ' |'
surrounded of possibly ' '.
trailing nullcols
(rule_id POSITION (1) ""RL"|: rule_id")
rule_grp
from_amt BOUNDFILLER
point_1
share_amt BOUNDFILLER
, rate_1 ' BOX WHEN: from_amt = 1 THEN: share_amt END.
, rate_2 expression "(sélectionnez pr.share_amt de produit pr où: point_1 n'est pas null et pr.prod_id=:rule_id et: point_1 =: from_amt + 1)" "
, expression point_2 "(sélectionnez pr.to_amt de produit pr où: point_1 n'est pas null et pr.prod_id=:rule_id et: point_1 =: from_amt + 1)" "
)
He has not any support only values in rate_2, point_2... no error either... Not sure if there is another method to do this...
Please give your suggestions... Thank you very much for your time
Hello
Thanks for posting the CREATE TABLE and INSERT instructions for the sample data; It's very useful!
Don't forget to post the exact results you want from this data in the sample, i.e. what you want the rule table to contain once the task is completed.
As ground has said, there is no interest to use SQLLDR to copy data from one table to another in the same database. Use INSERT, or perhaps MERGE.
2817195 wrote:
Thank you for your answers... I thought it would be easier to manipulate the data using sql loader... I tried to use insert but do not know how to insert values in point_2, rate_3, rate_2, point_3, columns... For example, when point_1 is not null, need to do a find for the next with the same rule_id record and if the inserted record = pr.from_amt + 1 point_1 then RATE_2 should be inserted with this pr.share_amt of this record...
SQL > insert into the rules)
2 rule_id,
rule_grp 3,.
rate_1 4,.
point_1 5,.
rate_2 6,.
point_2 7,.
rate_3 8,.
9 point_3)
10. Select
11 'RL ' | PR.prod_id RULE_ID,
12 pr.prod_grp RULE_GRP,
13 CASES WHEN END of pr.from_amt = 1 THEN pr.share_amt RATE_1,
14 pr.to_amt POINT_1,
15 (select pr.share_amt from product pr where point_1 is not null and rules.rule_id = pr.prod_id and point_1 = pr.from_amt + 1) RATE_2,
16 (select pr.to_amt from product pr where point_1 is not null and rules.rule_id = pr.prod_id and = pr.from_amt + 1 point_1) POINT_2,.
17 (select pr.share_amt from product pr where point_2 is not null and rules.rule_id = pr.prod_id and = pr.from_amt + 1 point_2) RATE_3,.
18 (select pr.to_amt from product pr where point_2 is not null and rules.rule_id = pr.prod_id and = pr.from_amt + 1 point_2) POINT_3
19 product pr;
(select pr.share_amt from product pr where point_1 is not null and point_1 = pr.from_amt + 1) RATE_2,
*
ERROR on line 15:
ORA-00904: "POINT_1": invalid identifier
Help, please... Thank you very much
This is what causes the error:
The subquery on line 15 references only 1 table in the FROM clause, and this table is produced. There is no point_1 column in the product.
A scalar subquery like this can be correlated to a table in the Super request, but the only table in the FROM (line 19) clause is also produced. Since the only table that you read is produced, only columns that you can read are the columns of the product table.
You use the same table alias (pr) to mean different things 5. It's very confusing. Create aliases for single table in any SQL statement. (What you trying to do, I bet you can do without all these subqueries, in any case.)
-
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
Sample data from OS_IMPORT_DOCSSQL> 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'
Example of file CLOB - stored text data (select d.document from os_import_docs d where d.object_id = 1815042 ;)SQL> 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
Above the example text includes "columns" in plain text:061053120820120000AGT000002Osoby 0000000042301000000017210632 062322120820120000AGT000002Osoby 0000000012301000000017197566 063526120820120001AGT000002Osoby 0000000012301000000017197566 064234120820120001AGT000002Osoby 0000000103301000000162218777
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
TomasFor 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
-
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
-
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 -
Hi all
I have an XML (emp.xml) with data below:
-< root >
-< row >
< name > steve < / lastname >
< 30 > < / Age >
< / row >
-< row >
< name > Paul < / lastname >
<>26 < / Age >
< / row >
< / root >
I would like to create a stored procedure to store the xml data into the EMP table.
EMP
LastName age
Steve 30
Paul 26
I tried to watch all threads related to this forum, but cannot find the right wire. Any help is greatly appreciated. Thank youWith
SQL> select * from xmltable('root/row' passing xmltype('
steve 30 Paul 26 You can now just make a
Insert into emp as select...
Maybe you are looking for
-
I use firefox on a MacBook pro. Mac OS X version 10.7.5. There was an update of firefox on a day or 2 ago. Since this was done, I was getting 'syntax error' 5 times, each time that a page has been loaded. Some research has suggested that an applicati
-
HP touchsmart 520: usb ports hp touchsmart 520 side does not
usb ports side Device Manager does not tell all the works, but nothing picks up, but ports usb back all work
-
Sample quantity sample DAQmx channel property Node substitute in LabVIEW when = 1
[cross posted from LAVA] Problem:LabVIEW seems to be the substitution of a value of 1 to a value of 2 for the node property DAQmx Sample Quantity.Sample per channel for a continuous acquisition mode. Information:I have a task created in MAX (version
-
'Unspecified error' box appears when I click a hyperlink in a message in Windows Mail.
Cannot open any hypertext link contained in an e-mail message when you use Windows Mail. But if I connect to Hotmail individually, they do not work. So it must be something in the email configuration. But what?
-
Scanning with Mac desk jet F2235 all-in-one
Hello! I inherited this all-in-one deskjet. I have a Mac with OS X air 10.7.5, connected the printer directly to it. As usual, she immediately identified software and used (this time for 2000 series printers). His print perfectly. BUT it is not the s