Mega Code Archive

 
Categories / Oracle PLSQL / Data Type
 

Read clob data to varchar2 type variable

SQL> CREATE TABLE myTable (   2    id          INTEGER PRIMARY KEY,   3    clobData    CLOB NOT NULL   4  ); Table created. SQL> SQL> SQL> CREATE OR REPLACE PROCEDURE initClob(clob_par IN OUT CLOB,id_par IN INTEGER) IS   2  BEGIN   3    SELECT clobData INTO clob_par FROM myTable WHERE id = id_par;   4  END initClob;   5  / Procedure created. SQL> SQL> SQL> CREATE OR REPLACE PROCEDURE readClob(id_par IN INTEGER) IS   2    clobVariable CLOB;   3    charVariable VARCHAR2(50);   4    offsetPos INTEGER := 1;   5    amount_var INTEGER := 50;   6  BEGIN   7    initClob(clobVariable, id_par);   8    DBMS_LOB.READ(clobVariable, amount_var, offsetPos, charVariable);   9    DBMS_OUTPUT.PUT_LINE('charVariable = ' || charVariable);  10    DBMS_OUTPUT.PUT_LINE('amount_var = ' || amount_var);  11  END readClob;  12  / Procedure created. SQL> SQL> SQL> CREATE OR REPLACE PROCEDURE write_example(id_par IN INTEGER) IS   2    clobVariable CLOB;   3    charVariable VARCHAR2(10) := 'pretty';   4    offsetPos INTEGER := 7;   5    amount_var INTEGER := 6;   6  BEGIN   7    SELECT clobData INTO clobVariable FROM myTable WHERE id = id_par FOR UPDATE;   8   9    readClob(1);  10    DBMS_LOB.WRITE(clobVariable, amount_var, offsetPos, charVariable);  11    readClob(1);  12  13  END write_example;  14  / Procedure created. SQL> SQL> SQL> drop table myTable; Table dropped.