오라클 프로시저에서 INTO절 변수절 질문입니다. 0 1 1,269

by 최한성 [Oracle 기초] 프로시저 INTO [2018.08.19 15:35:04]


CREATE OR REPLACE PROCEDURE UPDATE_EMP
(
    V_EMPNO IN EMP.EMPNO%TYPE,
    V_RATE IN NUMBER
) IS

    V_EMP EMP%ROWTYPE;
    
    BEGIN
    
    DBMS_OUTPUT.ENABLE;
    
    UPDATE EMP
    SET SAL = SAL + (SAL* (V_RATE/100))
    WHERE EMPNO = V_EMPNO;
    
    COMMIT;
    
    DBMS_OUTPUT.PUT_LINE('테이터 수정 성공');
    
    SELECT
        EMPNO
        ,ENAME
        ,SAL
    INTO V_EMP.EMPNO, V_EMP.ENAME, V_EMP.SAL
    FROM EMP
    WHERE EMPNO = V_EMPNO;
    
        DBMS_OUTPUT.PUT_LINE( ' **** 수 정 확 인 **** ');
        DBMS_OUTPUT.PUT_LINE( '사원번호 : ' || v_emp.empno );
        DBMS_OUTPUT.PUT_LINE( '사원이름 : ' || v_emp.ename );
        DBMS_OUTPUT.PUT_LINE( '사원급여 : ' || v_emp.sal );
    END;
    /

위 프로시저에서 

INTO V_EMP.EMPNO, V_EMP.ENAME, V_EMP.SAL

을 사용하였는데, 위에 변수를 선언하지 않았는데도

실행이 되는데, 임시로 변수가 선언이 되는것인가요?

by 야신 [2018.08.19 15:56:57]

   V_EMP EMP%ROWTYPE; ---> 로우타입으로 변수를 선언했습니다.

EMP 테이블의 컬럼들을 다 가지고 있는 것이죠.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입