
OCILob::append 메서드를 사용하여 BLOB 데이터를 추가할 때, 여러 개의 BLOB 데이터를 한번에 추가하려면 아래와 같은 방법을 사용할 수 있습니다.
1. BLOB 데이터를 하나의 변수에 저장한 후, OCILob::append 메서드를 호출하여 변수에 저장된 데이터를 추가할 수 있습니다.
예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
plsql
DECLARE
l_blob BLOB;
l_offset NUMBER;
BEGIN
-- BLOB 데이터를 하나의 변수에 저장
l_blob := UTL_RAW.CAST_TO_RAW('BLOB 데이터');
-- OCILob::append 메서드를 호출하여 변수에 저장된 데이터를 추가
OCILob.APPEND(l_blob, l_offset, UTL_RAW.CAST_TO_RAW('추가 데이터'));
END;
2. BLOB 데이터를 하나의 배열에 저장한 후, FOR LOOP을 사용하여 배열에 저장된 데이터를 OCILob::append 메서드를 호출하여 추가할 수 있습니다.
예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
plsql
DECLARE
TYPE blob_array IS TABLE OF BLOB;
l_blob_array blob_array;
l_offset NUMBER;
BEGIN
-- BLOB 데이터를 하나의 배열에 저장
l_blob_array := blob_array(UTL_RAW.CAST_TO_RAW('BLOB 데이터1'), UTL_RAW.CAST_TO_RAW('BLOB 데이터2'));
-- FOR LOOP을 사용하여 배열에 저장된 데이터를 OCILob::append 메서드를 호출하여 추가
FOR i IN 1..l_blob_array.COUNT LOOP
OCILob.APPEND(l_blob, l_offset, l_blob_array(i));
END LOOP;
END;
3. BLOB 데이터를 하나의 컬렉션에 저장한 후, FOR LOOP을 사용하여 컬렉션에 저장된 데이터를 OCILob::append 메서드를 호출하여 추가할 수 있습니다.
예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
plsql
DECLARE
TYPE blob_collection IS TABLE OF BLOB INDEX BY BINARY_INTEGER;
l_blob_collection blob_collection;
l_offset NUMBER;
BEGIN
-- BLOB 데이터를 하나의 컬렉션에 저장
l_blob_collection(1) := UTL_RAW.CAST_TO_RAW('BLOB 데이터1');
l_blob_collection(2) := UTL_RAW.CAST_TO_RAW('BLOB 데이터2');
-- FOR LOOP을 사용하여 컬렉션에 저장된 데이터를 OCILob::append 메서드를 호출하여 추가
FOR i IN 1..l_blob_collection.COUNT LOOP
OCILob.APPEND(l_blob, l_offset, l_blob_collection(i));
END LOOP;
END;
위의 코드를 참고하여, 여러 개의 BLOB 데이터를 한번에 추가할 수 있습니다.
2025-08-13 04:54