Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Howto split LONG column in smaller chunks?
This is the ID :
CREATE OR REPLACE FUNCTION PC.f_dump_long (whereclause varchar2)
RETURN VARCHAR2
AS
record_found NUMBER; cur PLS_INTEGER := DBMS_SQL.open_cursor; TYPE long_rectype IS RECORD ( piece_len PLS_INTEGER, pos_in_long PLS_INTEGER, one_piece VARCHAR2(1000), one_piece_len PLS_INTEGER ); rec long_rectype;
BEGIN
DBMS_SQL.parse (cur,
'SELECT <longcolumn> from <table> where ' || whereclause,
DBMS_SQL.native
);
DBMS_SQL.define_column_long (cur, 1); record_found := DBMS_SQL.execute (cur); record_found := DBMS_SQL.fetch_rows (cur);
IF record_found > 0 THEN
rec.piece_len := 1000; rec.pos_in_long := 0; DBMS_SQL.column_value_long ( cur, 1, rec.piece_len, rec.pos_in_long, rec.one_piece, rec.one_piece_len ); DBMS_SQL.close_cursor (cur); RETURN rec.one_piece; ELSE DBMS_SQL.close_cursor (cur); RETURN ' ';