Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-member domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /ledcorps/www/wp/wp-includes/functions.php on line 6114 4.2 UPDATE – 대나무숲

4.2 UPDATE

출처 http://www.gurubee.net/lecture/1052

아래는 특정 사원의 급여를 일정 퍼센트(%) 인상/인하 하는 프로시저 예제이다.

UPDATE 예제

 
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
        

답글 남기기 0

Your email address will not be published. Required fields are marked *