1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | SET SERVEROUTPUT ON; -------------------------------------------------------- SET VERIFY OFF; -- SQL명령어나 PL/SQL에서 &를 이용한치환 변수등을 사용할 때 -- 치환되기 전 후의 값을 보일 건지 여부를 결정하는 기능이다. 기본은 ON ACCEPT p_name PROMPT '이름:'; ACCEPT p_sal PROMPT '급여:'; ACCEPT p_deptno PROMPT '부서번호:'; DECLARE v_name VARCHAR2(30) := 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, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID,SALARY, COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID) VALUES (EMPLOYEES_SEQ.NEXTVAL,NULL,v_name,'dobbury@naver.com',NULL,TO_DATE('18/10/20','YY/MM/DD'),'IT_PROG',v_sal,NULL,NULL,v_deptno); END; / SET VERIFY ON; SET SERVEROUTPUT OFF; SELECT * FROM EMPLOYEES; -- 부서번호를 입력 -- 입력한 부서의 급여 합을 출력 SET SERVEROUTPUT ON; SET VERIFY OFF; ACCEPT p_deptno PROMPT '부서번호 입력: '; DECLARE v_deptno NUMBER := &p_deptno; v_total NUMBER :=0; BEGIN SELECT SUM(SALARY) INTO v_total FROM EMPLOYEES WHERE DEPARTMENT_ID = v_deptno; DBMS_OUTPUT.PUT_LINE(v_deptno ||'부서의 급여의 총 합: ' || v_total); END; / SET VERIFY ON; SET SERVEROUTPUT OFF; | cs |
'IT Study > Database-Oracle' 카테고리의 다른 글
PROCEDURE (0) | 2018.06.28 |
---|---|
PL/SQL 01 (0) | 2018.06.28 |
VIEW 예제(hr) (0) | 2018.06.28 |
INDEX (0) | 2018.06.28 |
SEQUENCE (0) | 2018.06.28 |