CREATE OR REPLACE PROCEDURE Example_16 IS lob_loc BLOB; buffer RAW; amt BINARY_INTEGER := 32767; pos INTEGER := 2147483647; i INTEGER; BEGIN SELECT b_col INTO lob_loc FROM lob_table WHERE key_value = 12 FOR UPDATE; FOR i IN 1..3 LOOP dbms_lob.write (lob_loc, amt, pos, buffer); -- fill in more data pos := pos + amt; END LOOP; EXCEPTION WHEN some_exception THEN handle_exception; END;
用dbms_lob.instr,
dbms_lob.substr等函数就差不多吧
写一个pl/sql块试试看
lob_loc BLOB;
buffer RAW;
amt BINARY_INTEGER := 32767;
pos INTEGER := 2147483647;
i INTEGER;
BEGIN
SELECT b_col INTO lob_loc
FROM lob_table
WHERE key_value = 12 FOR UPDATE;
FOR i IN 1..3 LOOP
dbms_lob.write (lob_loc, amt, pos, buffer);
-- fill in more data
pos := pos + amt;
END LOOP;
EXCEPTION
WHEN some_exception
THEN handle_exception;
END;