DEV Community

Query Filter
Query Filter

Posted on

loop

DECLARE
l_chunk VARCHAR2(1000);
l_start_byte NUMBER := 1;
l_chunk_size NUMBER := 100;
l_total_bytes NUMBER;
l_total_chunks NUMBER;
BEGIN
SELECT blob_length(blob_column) INTO l_total_bytes
FROM your_table WHERE id = 123;

l_total_chunks := blob_chunks_count(blob_column, l_chunk_size);

FOR i IN 1..l_total_chunks LOOP
SELECT blob_to_text_range(blob_column, l_start_byte, l_start_byte + l_chunk_size - 1)
INTO l_chunk
FROM your_table WHERE id = 123;

-- Process your chunk here
DBMS_OUTPUT.PUT_LINE('Chunk ' || i || ': ' || l_chunk);

l_start_byte := l_start_byte + l_chunk_size;
Enter fullscreen mode Exit fullscreen mode

END LOOP;
END;
/

Top comments (0)