Copying Internal LOBs : Clob « Data Type « Oracle PL / SQL






Copying Internal LOBs

  
SQL>
SQL> CREATE TABLE LOBS(
  2       lob_index INTEGER,
  3       CLOB_Locator CLOB);

Table created.

SQL>
SQL>
SQL> INSERT INTO LOBS VALUES(1,'Teach Yourself Oracle8i in 21 Days');

1 row created.

SQL> INSERT INTO LOBS VALUES(2,'Oracle Data Warehousing Unleashed');

1 row created.

SQL> INSERT INTO LOBS VALUES(3,'');

1 row created.

SQL> INSERT INTO LOBS VALUES(4,'Oracle Unleashed 2E');

1 row created.

SQL> INSERT INTO LOBS VALUES(5,EMPTY_CLOB());

1 row created.

SQL> INSERT INTO LOBS VALUES(6,EMPTY_CLOB());

1 row created.

SQL>
SQL> DECLARE
  2      Source_Lob   CLOB;
  3      Dest_Lob   CLOB;
  4      Copy_Amount INTEGER;
  5  BEGIN
  6      SELECT CLOB_LOCATOR into Dest_LOB
  7           FROM LOBS
  8           WHERE LOB_INDEX = 5 FOR UPDATE; -- FOR UPDATE locks the ROW
  9      SELECT CLOB_LOCATOR into Source_LOB
 10           FROM LOBS
 11           WHERE LOB_INDEX = 1;
 12      Copy_Amount := DBMS_LOB.GETLENGTH(Source_Lob);
 13      DBMS_LOB.COPY(Dest_LOB, Source_LOB,Copy_Amount);
 14      COMMIT;
 15      SELECT CLOB_LOCATOR into Dest_LOB
 16           FROM LOBS
 17           WHERE LOB_INDEX = 6 FOR UPDATE;
 18      SELECT CLOB_LOCATOR into Source_LOB
 19           FROM LOBS
 20           WHERE LOB_INDEX = 2;
 21      Copy_Amount := DBMS_LOB.GETLENGTH(Source_Lob);
 22      DBMS_LOB.COPY(Dest_LOB, Source_LOB,Copy_Amount);
 23      COMMIT;
 24  END;
 25  /

PL/SQL procedure successfully completed.

SQL> drop table lobs;

Table dropped.

SQL>
SQL> --

   
  








Related examples in the same category

1.clob data type
2.Use clob type in PL/SQL
3.Use dbms_lob.erase to remove value from clob type value
4.Use dbms_lob.fileopen to open bfile
5.Creating an Internal LOB Table
6.Appending and Writing to LOBs
7.DBMS_LOB package.
8.Print out the length of the CLOBs previously INSERTed
9.Compare clob data
10.Compare two clobs
11.Append data to clob
12.Assign string value to clob type variable
13.Clob type column
14.Copy clob data
15.In() function with clob data
16.Initialize clob
17.Read clob type data, DBMS_LOB.READ
18.Use between ... and with clob data
19.Use clob to store xml data
20.clob type data as string
21.erase clob data
22.use like operator with clob type data