-
Oracle VArray Procedure SampleDB/Oracle 2021. 5. 12. 18:26반응형12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152-- CREATE OR REPLACE procedure MAT1.P_ADM0008_vTest ( pList in phone_varray_typ ) isCREATE OR REPLACE procedure MAT1.P_ADM0008_vTest isCURSOR vTestCursor isselect DEPT_NO as dNo,PHONE_LIST as pListfrom mat1.dept_phone_list;dNo NUMBER(5) := '';pList phone_varray_typ := phone_varray_typ();BEGINopen vTestCursor;loopfetch vTestCursorinto dNo,pList;exit when vTestCursor%notfound;FOR i IN 1 .. pList.count LOOPdbms_output.put_line(dNo || '-' || pList(i).country_code || '-' || pList(i).area_code || '-' || pList(i).ph_number);END LOOP;end loop;END;---- Param ------varry value = mat1.phone_varray_typ(mat1.phone_typ('111','222','333'),mat1.phone_typ('444','555','666'))-------- Create --------------Create Object TypeCREATE or replace TYPE phone_typ AS OBJECT (country_code VARCHAR2(20),area_code VARCHAR2(30),ph_number VARCHAR2(30));--Create VArray TypeCREATE TYPE phone_varray_typ AS VARRAY(10) OF phone_typ;-- Create TableCREATE TABLE mat1.dept_phone_list (dept_no NUMBER(5),phone_list phone_varray_typ);-- Insert Test DataINSERT INTO mat1.dept_phone_list VALUES (100,phone_varray_typ( phone_typ ('01', '650', '5550123'),phone_typ ('01', '650', '5550148'),phone_typ ('01', '650', '5550192')));
cs 반응형'DB > Oracle' 카테고리의 다른 글
오라클 프로시저 , 함수 변경 이력 체크 (0) 2021.06.04 [Trigger] Mutating Error 및 해결책 (0) 2021.05.13 Oracle - INSTR 문자열의 앞,뒤부터 특정 문자 자리수 찾기 (0) 2020.12.24 Oracle - 값 중간에 빈부분 채워넣는 쿼리 (0) 2020.05.18 ORA-01476 - 제수가 0 입니다 (0) 2020.02.26 댓글