티스토리 뷰

반응형

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'); --특정 인덱스 삭제:

 

 

 


 

 

 

반응형