Home » SQL & PL/SQL » SQL & PL/SQL » Import CSV data from CLOB (Oracle 12c, Unix)
Import CSV data from CLOB [message #679515] Fri, 06 March 2020 08:13 Go to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi

I have a situation where CSV data is getting loaded into CLOB with multiple rows. I need to import the data into a table.
Any suggestions to do this without exporting the data into a csv file and then import data into a table.

regards,
Balaji
Re: Import CSV data from CLOB [message #679516 is a reply to message #679515] Fri, 06 March 2020 08:23 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

You can do it using 2 layers of REGEXP_SUBSTR.

Re: Import CSV data from CLOB [message #679519 is a reply to message #679516] Fri, 06 March 2020 09:21 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi Michael,

below is the sample rows. can you explain little further. each field separated by a comma will have to be loaded into a column in a table.

22,110,68320,80037,VCRMS,0,0,0,28-JUN-2018 15:02:29
22,110,1463,81041,AXRMQ,0,0,0,28-JUN-2018 15:02:29

regards,
Re: Import CSV data from CLOB [message #679520 is a reply to message #679519] Fri, 06 March 2020 10:27 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Please post a working Test case: create table and insert statements.

It is not clear if these rows are in a single CLOB a multiple ones (so the test case).

Re: Import CSV data from CLOB [message #679530 is a reply to message #679520] Fri, 06 March 2020 12:39 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi Michael,

i want to read the data in the tran_data field and load the inventory table. each row in transactions table may have multiple rows of csv data in the CLOB.

create table transactions(
tran_id number,
tran_data clob
);

insert into transactions(tran_id, tran_data)
values(1, '22,110,68320,80037,VCRMS,0,0,0,28-JUN-2018 15:02:29
22,110,1463,81041,AXRMQ,0,0,0,28-JUN-2018 15:02:29');

insert into transactions(tran_id, tran_data)
values(2, '22,110,42940,80063,XBAQW,0,0,0,28-JUN-2018 15:02:29
22,110,75660,81128,IVLPA,0,0,0,28-JUN-2018 15:02:29');

commit;

CREATE TABLE inventory (
id varchar2(20),
locid varchar2(20),
vendor varchar2(20),
ven_loc varchar2(20),
partnum varchar2(20),
available_qty varchar2(20),
qa_qty varchar2(20),
on_hold_qty varchar2(20),
inventory_date date
);

regards
Re: Import CSV data from CLOB [message #679532 is a reply to message #679530] Fri, 06 March 2020 13:00 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator
SQL> insert into inventory
  2  select regexp_substr(line, '[^,]+', 1, 1) id,
  3         regexp_substr(line, '[^,]+', 1, 2) locid,
  4         regexp_substr(line, '[^,]+', 1, 3) vendor,
  5         regexp_substr(line, '[^,]+', 1, 4) ven_loc,
  6         regexp_substr(line, '[^,]+', 1, 5) partnum,
  7         regexp_substr(line, '[^,]+', 1, 6) available_qty,
  8         regexp_substr(line, '[^,]+', 1, 7) qa_qty,
  9         regexp_substr(line, '[^,]+', 1, 8) on_hold_qty,
 10         to_date(regexp_substr(line, '[^,]+', 1, 9),
 11                 'DD-MON-YYYY HH24:MI:SS',
 12                 'NLS_DATE_LANGUAGE=AMERICAN')
 13            inventory_date
 14  from (
 15  select regexp_substr(tran_data, '[^
 16  ]+', 1, column_value) line
 17  from transactions,
 18       table(cast(multiset(select level from dual
 19                           connect by level <= regexp_count(tran_data,'
 20  ')+1)
 21             as sys.odciNumberList))
 22  )
 23  /

4 rows created.

SQL> set recsep wrap recsepchar '.'
SQL> select * from inventory;
ID                   LOCID                VENDOR               VEN_LOC              PARTNUM
-------------------- -------------------- -------------------- -------------------- --------------------
AVAILABLE_QTY        QA_QTY               ON_HOLD_QTY          INVENTORY_DATE
-------------------- -------------------- -------------------- -------------------
22                   110                  68320                80037                VCRMS
0                    0                    0                    28/06/2018 15:02:29
........................................................................................................
22                   110                  1463                 81041                AXRMQ
0                    0                    0                    28/06/2018 15:02:29
........................................................................................................
22                   110                  42940                80063                XBAQW
0                    0                    0                    28/06/2018 15:02:29
........................................................................................................
22                   110                  75660                81128                IVLPA
0                    0                    0                    28/06/2018 15:02:29
........................................................................................................

4 rows selected.
Re: Import CSV data from CLOB [message #679545 is a reply to message #679532] Fri, 06 March 2020 14:36 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
hi Michael,

its inserting only only the first row.. what am i missing please? my clob has hundreds of rows..
In the data i provided above, each row has two rows in the CLOB.

regards,

[Updated on: Fri, 06 March 2020 14:37]

Report message to a moderator

Re: Import CSV data from CLOB [message #679547 is a reply to message #679545] Sat, 07 March 2020 00:15 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
its inserting only only the first row..

No, as you can see, it inserts 4 rows from the 2 rows of the source table.

Re: Import CSV data from CLOB [message #679552 is a reply to message #679547] Sat, 07 March 2020 06:29 Go to previous messageGo to next message
Solomon Yakobson
Messages: 2963
Registered: January 2010
Location: Connecticut, USA
Senior Member
Michel, OP is on 12C, so it can be greatly simplified using LATERAL/CROSS APPLY. Also, Oracle regexp supports match parameter m that treats string as multi-line:

insert into inventory
  select  regexp_substr(line,'[^,]+',1,1) id,
          regexp_substr(line,'[^,]+',1,2) locid,
          regexp_substr(line,'[^,]+',1,3) vendor,
          regexp_substr(line,'[^,]+',1,4) ven_loc,
          regexp_substr(line,'[^,]+',1,5) partnum,
          regexp_substr(line,'[^,]+',1,6) available_qty,
          regexp_substr(line,'[^,]+',1,7) qa_qty,
          regexp_substr(line,'[^,]+',1,8) on_hold_qty,
          to_date(
                   regexp_substr(line, '[^,]+', 1, 9),
                  'DD-MON-YYYY HH24:MI:SS',
                  'NLS_DATE_LANGUAGE=AMERICAN'
                 ) inventory_date
    from  transactions,
          lateral(
                  select  regexp_substr(tran_data,'^.*$',1,level,'m') line
                    from  dual
                    connect by level <= regexp_count(tran_data,'$',1,'m')
                 )
/

4 rows created.

SQL> select  *
  2    from  inventory
  3  /

ID LOCID VENDOR VEN_LOC PARTNUM AVAILABLE_QTY QA_QTY ON_HOLD_QTY INVENTORY_DATE
-- ----- ------ ------- ------- ------------- ------ ----------- --------------------
22 110   68320  80037   VCRMS   0             0      0           28-JUN-2018 15:02:29
22 110   1463   81041   AXRMQ   0             0      0           28-JUN-2018 15:02:29
22 110   42940  80063   XBAQW   0             0      0           28-JUN-2018 15:02:29
22 110   75660  81128   IVLPA   0             0      0           28-JUN-2018 15:02:29

SQL>
SY.
Re: Import CSV data from CLOB [message #679554 is a reply to message #679552] Sat, 07 March 2020 12:04 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
OP is on 12C, so it can be greatly simplified using LATERAL/CROSS APPLY.

Right! My default database is still 11gR2.

Quote:
Oracle regexp supports match parameter m that treats string as multi-line

Gee! Why something that is natural for me using Perl, I can't set it in SQL?

Thanks for both.

Re: Import CSV data from CLOB [message #679562 is a reply to message #679554] Mon, 09 March 2020 10:18 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi Michel&Solomon,

There is a correction. This DB version is 11.2.0.4.0. We will be deploying in 12c.
So lateral may not work. the query returns only the first row from CLOB.

Please help.
regards.
Re: Import CSV data from CLOB [message #679563 is a reply to message #679562] Mon, 09 March 2020 11:26 Go to previous messageGo to next message
Solomon Yakobson
Messages: 2963
Registered: January 2010
Location: Connecticut, USA
Senior Member
Rayam69 wrote on Mon, 09 March 2020 11:18
the query returns only the first row from CLOB.
Queries Michel and I posted return all rows from each CLOB. Post your query (one that produces "only the first row from CLOB").

If you are on 11G, I'd use:

insert into inventory
with lines as(
              select  regexp_substr(tran_data,'^.*$',1,level,'m') line
                from  transactions
                connect by level <= regexp_count(tran_data,'$',1,'m')
                       and rowid = prior rowid
                       and prior sys_guid() is not null
             )
  select  regexp_substr(line,'[^,]+',1,1) id,
          regexp_substr(line,'[^,]+',1,2) locid,
          regexp_substr(line,'[^,]+',1,3) vendor,
          regexp_substr(line,'[^,]+',1,4) ven_loc,
          regexp_substr(line,'[^,]+',1,5) partnum,
          regexp_substr(line,'[^,]+',1,6) available_qty,
          regexp_substr(line,'[^,]+',1,7) qa_qty,
          regexp_substr(line,'[^,]+',1,8) on_hold_qty,
          to_date(
                   regexp_substr(line, '[^,]+', 1, 9),
                  'DD-MON-YYYY HH24:MI:SS',
                  'NLS_DATE_LANGUAGE=AMERICAN'
                 ) inventory_date
    from  lines
/

4 rows created.

SQL> select  banner
  2    from  v$version
  3  /

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

SQL> select  *
  2    from  inventory
  3  /

ID LOCID VENDOR VEN_LOC PARTNUM AVAILABLE_QTY QA_QTY ON_HOLD_QTY INVENTORY_DATE
-- ----- ------ ------- ------- ------------- ------ ----------- --------------------
22 110   68320  80037   VCRMS   0             0      0           28-JUN-2018 15:02:29
22 110   1463   81041   AXRMQ   0             0      0           28-JUN-2018 15:02:29
22 110   42940  80063   XBAQW   0             0      0           28-JUN-2018 15:02:29
22 110   75660  81128   IVLPA   0             0      0           28-JUN-2018 15:02:29

SQL>
SY.
Re: Import CSV data from CLOB [message #679564 is a reply to message #679563] Mon, 09 March 2020 11:48 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Thanks Solomon. This query works in 11g. I will try the other query with lateral in 12c later in the day. the query that returns only the first row is given below.


select regexp_substr(line, '[^,]+', 1, 1) id,
regexp_substr(line, '[^,]+', 1, 2) locid,
regexp_substr(line, '[^,]+', 1, 3) vendor,
regexp_substr(line, '[^,]+', 1, 4) ven_loc,
regexp_substr(line, '[^,]+', 1, 5) partnum,
regexp_substr(line, '[^,]+', 1, 6) available_qty,
regexp_substr(line, '[^,]+', 1, 7) qa_qty,
regexp_substr(line, '[^,]+', 1, Cool on_hold_qty,
to_date(regexp_substr(line, '[^,]+', 1, 9),
'DD-MON-YYYY HH24:MI:SS',
'NLS_DATE_LANGUAGE=AMERICAN')
inventory_date
from (
select regexp_substr(tran_data, '[^
]+', 1, column_value) line
from transactions,
table(cast(multiset(select level from dual
connect by level <= regexp_count(tran_data,'
')+1)
as sys.odciNumberList))
)
/

regards.
Re: Import CSV data from CLOB [message #679567 is a reply to message #679564] Mon, 09 March 2020 12:58 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
This query works in 11g.

Mine too as I use 11gR2 as default database for my examples.

Re: Import CSV data from CLOB [message #679570 is a reply to message #679567] Mon, 09 March 2020 14:26 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi

Its just it takes for ever to read a row of CLOB data and load into a table.
the test CLOB had close to 1500+ rows. That's a lot.

any ideas.

regards,
Re: Import CSV data from CLOB [message #679571 is a reply to message #679570] Mon, 09 March 2020 15:28 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

1500 rows is tiny, it can't take so long, how does "for ever" last?

[Updated on: Mon, 09 March 2020 15:29]

Report message to a moderator

Re: Import CSV data from CLOB [message #679572 is a reply to message #679571] Mon, 09 March 2020 15:43 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
left the insert to around an hr and closed the session.
Re: Import CSV data from CLOB [message #679574 is a reply to message #679572] Tue, 10 March 2020 04:30 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
Are there any triggers on the table?
Are there any primary/unique keys that it would block on?

1500+ rows should take seconds.

What is the exact code you're running at this point?
Re: Import CSV data from CLOB [message #679579 is a reply to message #679570] Tue, 10 March 2020 07:16 Go to previous messageGo to next message
Solomon Yakobson
Messages: 2963
Registered: January 2010
Location: Connecticut, USA
Senior Member
Rayam69 wrote on Mon, 09 March 2020 15:26

Its just it takes for ever to read a row of CLOB data and load into a table.
the test CLOB had close to 1500+ rows. That's a lot.
OK. So each CLOB has about 1500 lines (not rows). And how many rows are in the table? So if table has 100,000 rows we end up splitting it into 100,000 * 1,500 = 150,000,000 rows. That can take some time especially when using regexp. You might need to replace regexp with substr/instr.

SY.
Re: Import CSV data from CLOB [message #679583 is a reply to message #679579] Tue, 10 March 2020 08:42 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
The implication I got from previous posts is that the OP is testing with a single clob, but who knows?
Re: Import CSV data from CLOB [message #679584 is a reply to message #679579] Tue, 10 March 2020 08:48 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi
You are correct. The clob i am testing has 1500+ lines. i am testing only with one row though.
Is there a way to rewrite this query by replacing regexp with substr/instr?
Re: Import CSV data from CLOB [message #679585 is a reply to message #679584] Tue, 10 March 2020 08:59 Go to previous messageGo to next message
Michel Cadot
Messages: 67227
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Quote:
Is there a way to rewrite this query by replacing regexp with substr/instr?
Yes, of course, try it, it will be a good exercise for you, but you won't have a noticeable faster query.

Re: Import CSV data from CLOB [message #679586 is a reply to message #679585] Tue, 10 March 2020 09:03 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
Try running your query as a query - standalone in sqlplus.
See how long it takes. Should be a few seconds.

If it's taking an hour to process a single clob then the problem is unlikely to be the query. Hence the questions I asked above.
Re: Import CSV data from CLOB [message #679587 is a reply to message #679586] Tue, 10 March 2020 09:26 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
can you try in your environment and lmk what the issue could be?
Re: Import CSV data from CLOB [message #679590 is a reply to message #679587] Tue, 10 March 2020 10:01 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
SQL> create table transactions(
tran_id number,
tran_data clob
);  2    3    4

Table created.

SQL> insert into transactions(tran_id, tran_data)
values(1, '22,110,68320,80037,VCRMS,0,0,0,28-JUN-2018 15:02:29
22,110,1463,81041,AXRMQ,0,0,0,28-JUN-2018 15:02:29');  2    3

1 row created.

SQL> insert into transactions(tran_id, tran_data)
values(2, '22,110,42940,80063,XBAQW,0,0,0,28-JUN-2018 15:02:29
22,110,75660,81128,IVLPA,0,0,0,28-JUN-2018 15:02:29');  2    3

1 row created.

SQL> commit;

Commit complete.

SQL> CREATE TABLE inventory (
id varchar2(20),
locid varchar2(20),
vendor varchar2(20),
ven_loc varchar2(20),
partnum varchar2(20),
available_qty varchar2(20),
qa_qty varchar2(20),
on_hold_qty varchar2(20),
inventory_date date
);  2    3    4    5    6    7    8    9   10   11

Table created.

SQL> set timing on;
SQL> insert into inventory
with lines as(
              select  regexp_substr(tran_data,'^.*$',1,level,'m') line
                from  transactions
                connect by level <= regexp_count(tran_data,'$',1,'m')
                       and rowid = prior rowid
                       and prior sys_guid() is not null
             )
  select  regexp_substr(line,'[^,]+',1,1) id,
          regexp_substr(line,'[^,]+',1,2) locid,
          regexp_substr(line,'[^,]+',1,3) vendor,
          regexp_substr(line,'[^,]+',1,4) ven_loc,
  2    3    4    5    6    7    8    9   10   11   12   13            regexp_substr(line,'[^,]+',1,5) partnum,
          regexp_substr(line,'[^,]+',1,6) available_qty,
          regexp_substr(line,'[^,]+',1,7) qa_qty,
          regexp_substr(line,'[^,]+',1,8) on_hold_qty,
          to_date(
                   regexp_substr(line, '[^,]+', 1, 9),
                  'DD-MON-YYYY HH24:MI:SS',
                  'NLS_DATE_LANGUAGE=AMERICAN'
                 ) inventory_date
    from  lines 14   15   16   17   18   19   20   21   22
 23  /

4 rows created.

Elapsed: 00:00:00.01
SQL>
The issue is in your environment not ours.
Have you trying just the select on its own to see how long it takes?
Re: Import CSV data from CLOB [message #679598 is a reply to message #679590] Tue, 10 March 2020 10:27 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Hi
if the CLOB has only 2 lines, its instant..
try to just add the same value given below 750+ times and update one row. then try the insert.

22,110,68320,80037,VCRMS,0,0,0,28-JUN-2018 15:02:29
22,110,1463,81041,AXRMQ,0,0,0,28-JUN-2018 15:02:29

regards.

Re: Import CSV data from CLOB [message #679599 is a reply to message #679598] Tue, 10 March 2020 10:37 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
SQL> DELETE FROM transactions;

2 rows deleted.

Elapsed: 00:00:07.72
SQL> delete from inventory;

4 rows deleted.

Elapsed: 00:00:00.00
SQL> insert into transactions(tran_id, tran_data)
values(1, '22,110,68320,80037,VCRMS,0,0,0,28-JUN-2018 15:02:29
22,110,1463,81041,AXRMQ,0,0,0,28-JUN-2018 15:02:29');  2    3

1 row created.

Elapsed: 00:00:00.00
SQL> commit;

Commit complete.

Elapsed: 00:00:00.01
SQL> BEGIN

  FOR i IN 1..750 LOOP

    UPDATE transactions
    SET tran_data = tran_data||'
22,110,68320,80037,VCRMS,0,0,0,28-JUN-2018 15:02:29
22,110,1463,81041,AXRMQ,0,0,0,28-JUN-2018 15:02:29';

  END LOOP;

END;  2    3    4    5    6    7    8    9   10   11   12
 13  /

PL/SQL procedure successfully completed.

Elapsed: 00:00:01.96
SQL> commit;

Commit complete.

Elapsed: 00:00:00.00
SQL> insert into inventory
with lines as(
              select  regexp_substr(tran_data,'^.*$',1,level,'m') line
                from  transactions
                connect by level <= regexp_count(tran_data,'$',1,'m')
                       and rowid = prior rowid
                       and prior sys_guid() is not null
             )
  select  regexp_substr(line,'[^,]+',1,1) id,
          regexp_substr(line,'[^,]+',1,2) locid,
          regexp_substr(line,'[^,]+',1,3) vendor,
          regexp_substr(line,'[^,]+',1,4) ven_loc,
  2            regexp_substr(line,'[^,]+',1,5) partnum,
          regexp_substr(line,'[^,]+',1,6) available_qty,
          regexp_substr(line,'[^,]+',1,7) qa_qty,
          regexp_substr(line,'[^,]+',1,8) on_hold_qty,
          to_date(
                   regexp_substr(line, '[^,]+', 1, 9),
                  'DD-MON-YYYY HH24:MI:SS',
                  'NLS_DATE_LANGUAGE=AMERICAN'
                 ) inventory_date
    from  lines  3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
 23  /

1502 rows created.

Elapsed: 00:01:09.68
SQL>
1 minute 10 seconds to insert 1502 rows.
Re: Import CSV data from CLOB [message #679600 is a reply to message #679599] Tue, 10 March 2020 10:44 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
Now, for the third time of asking: have you tried the select by itself to see how long it takes?
For a single clob with 1500 odd rows it should take few minutes (rendering time in sqlplus means it'll take longer than the insert). Mine took 1:49

If takes a lot longer than that then your DB server is seriously under-powered.
The DB I used for my tests is hosted on my laptop.
Re: Import CSV data from CLOB [message #679602 is a reply to message #679600] Tue, 10 March 2020 11:11 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
Thank you so much. let me try in another way.
Re: Import CSV data from CLOB [message #679607 is a reply to message #679602] Tue, 10 March 2020 14:47 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
I am told the below. Any idea on how you worked around this while reading data from a CLOB?

"you are encountering direct path read on lob segments"

regards.

[Updated on: Tue, 10 March 2020 15:36]

Report message to a moderator

Re: Import CSV data from CLOB [message #679621 is a reply to message #679607] Wed, 11 March 2020 03:44 Go to previous messageGo to next message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
Who told you that?
What did they base it on?
Re: Import CSV data from CLOB [message #679630 is a reply to message #679621] Wed, 11 March 2020 08:46 Go to previous messageGo to next message
Rayam69
Messages: 43
Registered: May 2012
Member
my DBA.
Re: Import CSV data from CLOB [message #679632 is a reply to message #679630] Wed, 11 March 2020 09:07 Go to previous message
cookiemonster
Messages: 13894
Registered: September 2008
Location: Rainy Manchester
Senior Member
Well that answers the first question.
There was a second question as well.
Previous Topic: log ORA-01013: user requested cancel of current operation tips
Next Topic: different rows in set of data (using lead or alternative)
Goto Forum:
  


Current Time: Sat Jul 04 21:03:24 CDT 2020