Database/Oracle Work

입력받아 EMP테이블에 자료를 등록, 시퀀스, 조건문

웨이칭 2020. 6. 29. 10:00


--이름, 급여, 부서번호를 입력받아 EMP테이블에 자료를 등록하는 SCRIPT를 작성하라.
--단 10번 부서일 경우, 입력한 급여의 20%를 추가하고
--초기값이 9000부터 9999까지 1씩 증가하는 ESQUENCE(EMP_EMPNO_SEQ)작성하여
--사용하고 아래의 표를 참고하여라.
--이름 : 홍길동
--급여 : 2000
--부서번호 : 10

CREATE SEQUENCE EMP_EMPNO_SEQ
INCREMENT BY 1
START WITH 9000
MAXVALUE 9999;

ACCEPT p_name PROMPT '이 름:'
ACCEPT p_sal PROMPT '급 여:'
ACCEPT p_deptno PROMPT '부서번호:'

DECLARE
    v_name employees.last_name%TYPE := '&p_name';
    v_sal employees.salary%TYPE := &p_sal;
    v_deptno NUMBER(2) := &p_deptno;
BEGIN
    IF v_deptno = 10 THEN
        v_sal := v_sal * 1.2;
    END IF;  
    
    INSERT INTO employees(employee_id, last_name, hire_date, salary, 
                            department_id, job_id, email)
    VALUES(EMP_EMPNO_SEQ.NEXTVAL, v_name, to_date('12/01/02', 'YY/MM/DD'), v_sal,
                            v_deptno, 'IT_PROG', v_name || '@naver.com');
END;
/

SELECT
    *
FROM employees;
[출처] 01/03 PL/SQL  FUNCTION|작성자 히히