더북(TheBook)

① 단일 로우 UPDATE

앞에서 사례로 들었던 171번 사원의 급여를 갱신하는 예제에서 RETURNING INTO 절을 추가해 변경된 급여, 사원명 등의 정보를 추출해 보자.

입력

    DECLARE
      vn_salary   NUMBER := 0;
      vs_empname  VARCHAR2(30);
    BEGIN

      -- 171번 사원의 급여를 10000로 갱신
      UPDATE employees
         SET salary = 10000
       WHERE employee_id = 171
      RETURNING emp_name, salary
      INTO vs_empname, vn_salary;

      COMMIT;

      DBMS_OUTPUT.PUT_LINE('변경 사원명 : ' || vs_empname);
      DBMS_OUTPUT.PUT_LINE('변경 급여 : ' || vn_salary);
    END;

결과

    변경사원명 : William Smith
    변경급여 : 10000

171번 사원의 급여를 10,000으로 변경하고 있는데 RETURNING INTO 절을 사용해 사원명과 갱신된 급여를 두 변수에 담아왔다. 이전 CH17_UPD_TEST_PRC 프로시저처럼 UPDATE 후 다시 SELECT문을 사용하지 않고도 실제 갱신되는 값을 RETURNING INTO 절을 이용해 가져온 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.