PL/SQL의 SELECT ~ INTO ~ 구문에서 INTO 앞에 BULK COLLECT 키워드를 사용하면 여러 개의 행이 반환될 때 데이터를 한 번에 받을 수 있다.
DECLARE
TYPE FRU_TAB IS TABLE OF FRUITS%ROWTYPE INDEX BY BINARY_INTEGER;
FRU_TAB_OBJ FRU_TAB;
BEGIN
SELECT *
BULK COLLECT INTO FRU_TAB_OBJ
FROM FRUITS
ORDER BY 1;
FOR I IN 1..FRU_TAB_OBJ.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('ID : ' || FRU_TAB_OBJ(I).ID
|| ', NAME : ' || FRU_TAB_OBJ(I).NAME
|| ', PRICE : ' || FRU_TAB_OBJ(I).PRICE);
END LOOP;
END;
* FRU_TAB_OBJ.COUNT
TYPE 테이블 변수의 행 개수를 가져올 수 있다.
'데이터베이스 > Oracle' 카테고리의 다른 글
| [PL/SQL] 컬렉션 (Collection) - 메소드 (0) | 2023.07.13 |
|---|---|
| [PL/SQL] 컬렉션 (Collection) (0) | 2023.07.13 |
| [PL/SQL] 동적쿼리 (EXECUTE IMMEDIATE) (0) | 2023.07.11 |
| [OracleDB] 두 개의 테이블에서 조인 조건으로 사용할 수 있는 컬럼을 가져오는 함수 (0) | 2023.06.15 |
| [OracleDB] Snake Case를 Camel Case로 변환하는 함수 (0) | 2023.06.15 |