Database/Oracle
[PL/SQL] Key:Value 오브젝트 사용하기 (Assocative Array)
데브포유
2024. 6. 13. 13:26
반응형
PL/SQL에서 제공하고 있는 컬렉션 타입 중에서 연관 배열 (Associative Array)를 사용하면 Hash Table과 같이
사용할 수 있습니다.
Key (인덱스)로 사용할 수 있는 데이터 타입은 숫자/문자열 모두 가능합니다.
01. Key:Value Type 정의
TYPE KeyValueType IS TABLE OF NUMBER(12) INDEX BY VARCHAR2(3);
v_keyVal KeyValueType;
v_key VARCHAR2(3);
02. Value 저장 ( 저장할 때는 키 값이 존재하는지 체크함)
IF v_keyVal.EXISTS('001') THEN
v_keyVal ('001') := v_keyVal ('001') + 1000;
ELSE
v_keyVal ('001') := 1000;
END;
03. Value 조회
v_key := v_keyVal.FIRST;
WHILE v_key IS NOT NULL LOOP
DBMS_OUTPUT.PUT_LINE('KEY = ' || v_key || ', VALUE = ' || v_keyVal( v_key));
v_key := v_keyVal.NEXT(v_key);
END LOOP;
04. Value 모두 삭제
v_keyVal.DELETE;
05. ETC
v_keyVal.COUNT; --배열에 저장된 요소의 개수를 반환합니다.
v_keyVal.LAST; -- 배열의 마지막 인덱스를 반환합니다.
v_keyVal.PRIOR('002'); -- 주어진 인덱스의 이전 인덱스 반환.
v_keyVal.DELETE('001'); --특정 인덱스 삭제:
반응형