아래는 특정 사원의 급여를 일정 퍼센트(%) 인상/인하 하는 프로시저 예제이다.
SQL> CREATE OR REPLACE PROCEDURE Update_Test ( 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 ; / -- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용 SQL> SET SERVEROUTPUT ON ; -- 7900번 사원의 급여를 10% 인하 한다. SQL> EXECUTE Update_Test(7900, -10); 데이터 수정 성공 **** 수 정 확 인 **** 사원번호 : 7900 사원이름 : JAMES 사원급여 : 855
- 강좌 URL : http://www.gurubee.net/lecture/1052
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.