Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Large Objects
 

Reading and Writing to a CLOB

SQL> SQL> CREATE TABLE myClob   2  (id NUMBER PRIMARY KEY,   3   clob_data CLOB); Table created. SQL> SQL> INSERT INTO myClob VALUES (101,null); 1 row created. SQL> SQL> declare   2    clob_pointer CLOB;   3    v_buf VARCHAR2(1000);   4    Amount BINARY_INTEGER :=1000;   5    Position INTEGER :=1;   6  BEGIN   7    v_buf :=rpad('A',1000,'A');   8   9    insert into myClob values (1 ,EMPTY_CLOB());  10  11    commit;  12  13    SELECT clob_data INTO clob_pointer FROM myClob WHERE id = 1 FOR UPDATE;  14    DBMS_LOB.OPEN (clob_pointer,DBMS_LOB.LOB_READWRITE);  15  16    FOR i IN 1..500 LOOP  17  18      DBMS_LOB.WRITE (clob_pointer,Amount,Position,v_buf);  19  20      Position :=Position +Amount;  21  22    END LOOP;  23  24    DBMS_LOB.CLOSE (clob_pointer);  25  26  END;  27  / PL/SQL procedure successfully completed. SQL> SQL> drop table myClob; Table dropped. SQL>