본문 바로가기

Oracle Database /SQL

SQL PL(2)

/*

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;







'Oracle Database > SQL' 카테고리의 다른 글

[ORACLE] DB의 PROCEDURE(프로시져)  (0) 2018.06.28
[ORACLE] DB의 PL/SQL  (0) 2018.06.28
SQL PL(1)  (0) 2018.06.28
SQL index  (0) 2018.06.27
SQL sequence  (0) 2018.06.27