Drop Database

오라클 레코드 변수 사용예

한알두알 2010. 3. 1. 15:15

CREATE OR REPLACE PROCEDURE AFF.SP_RECORD_TEST

IS

    TYPE ACEC001TYP IS RECORD(
   
        MEMB_SRNUM VARCHAR2(10)
       ,KOR_NM     VARCHAR2(40)      
    ) ;
   
   
   
    TYPE ARR_NO IS TABLE OF ACEC001TYP;

   
   V_ARR_NO ARR_NO := ARR_NO();
   
   

BEGIN
   
--    SELECT MEMB_SRNUM,KOR_NM BULK COLLECT INTO V_ARR_NO FROM ACEC350 WHERE ROWNUM < 11;
     
    V_ARR_NO.EXTEND();
    V_ARR_NO(1).MEMB_SRNUM := '회원1';
    V_ARR_NO(1).KOR_NM := '정윤구';
   
    V_ARR_NO.EXTEND();
    V_ARR_NO(2).MEMB_SRNUM := '회원2';
    V_ARR_NO(2).KOR_NM := '김명수';
   
--    SELECT 'DKDKD' INTO V_ARR_NO(1).KOR_NM FROM DUAL;
   
    FOR i IN V_ARR_NO.FIRST..V_ARR_NO.LAST LOOP
        DBMS_OUTPUT.PUT_LINE(V_ARR_NO(i).MEMB_SRNUM || '  ---------');
        DBMS_OUTPUT.PUT_LINE(V_ARR_NO(i).KOR_NM || '  ---------');
   
    END LOOP;
   
   
    DBMS_OUTPUT.PUT_LINE(V_ARR_NO.COUNT);

END SP_RECORD_TEST;