연찌현찌 2018. 6. 28. 11:23

/*

SET VERIFY OFF;

SQL명령어나 PL/SQL에서 &를 이용한 치환 변수등을 사용할 때 

치환되기전후의 값을 보일 건지 여부를 결정하는 기능이다. 기본은 ON

*/


SET SERVEROUTPUT ON;

SET VERIFY OFF;


ACCEPT p_name PROMPT '이름:';

ACCEPT p_sal PROMPT '급여:';

ACCEPT p_deptno PROMPT '부서번호:';


DECLARE

    v_name VARCHAR2(10) := UPPER('&p_name');

    v_sal NUMBER(7, 2) := &p_sal;

    v_deptno NUMBER(2) := &p_deptno;


BEGIN

    DBMS_OUTPUT.PUT_LINE('v_name : ' || v_name);

    DBMS_OUTPUT.PUT_LINE('v_sal : ' || v_sal);

    DBMS_OUTPUT.PUT_LINE('v_deptno : ' || v_deptno);


    IF v_deptno = 30 THEN

        v_sal := v_sal * 1.2;

    ELSIF v_deptno = 60 THEN

        v_sal := v_sal * 1.1;

    END IF;

    

    INSERT INTO EMPLOYEES(EMPLOYEE_ID, LAST_NAME, SALARY,

        HIRE_DATE, DEPARTMENT_ID, JOB_ID, EMAIL)

    VALUES(EMPLOYEES_SEQ.NEXTVAL, v_name, v_sal, 

        SYSDATE, v_deptno, 'IT_PROG', v_name||'@naver.com');

END;

/


SET VERIFY ON;

SET SERVEROUTPUT OFF;


SELECT * FROM EMPLOYEES;