연습 테이블
INSERT
CREATE OR REPLACE PROCEDURE ADDPLEMP(
P_EMPNO IN PLEMP.EMPNO%TYPE,
P_ENAME IN PLEMP.ENAME%TYPE,
P_JOB IN PLEMP.JOB%TYPE)
IS
BEGIN
INSERT INTO PLEMP(EMPNO,ENAME,JOB) VALUES(P_EMPNO,P_ENAME,P_JOB);
COMMIT;
DBMS_OUTPUT.PUT_LINE(P_JOB||'부서 INSERT SUCCESS');
END ADDPLEMP;
- CREATE OR REPLACE PROCEDURE [프로시저 이름] : 프로시저 생성
- ( P_EMPNO IN PLEMP.EMPNO%TYPE, ....) : 프로시저내에서 사용할 변수를 선언한다
- 여기에서는PLEMP 에 있는 EMPNO 를 P_EMPNO로 설정하고 %TYPE 같은 타입으로 설정한다.
- DBMS_OUTPUT.PUT_LINE(P_JOB||'부서 INSERT SUCCESS') : INSERT가 완료되면 '부서 INSERT SUCCESS' 문구가 뜬다.
EXEC ADDPLEMP(50,'seonzone','SALESMAN');
- 실제로 넣을 데이터를 입력한다.
UPDATE
CREATE OR REPLACE PROCEDURE UPDATE_SAL(V_EMPNO IN NUMBER)
IS
BEGIN
UPDATE PLEMP
SET SAL = SAL * 1.5
WHERE EMPNO = V_EMPNO;
COMMIT;
END UPDATE_SAL;
- V_EMPNO IN NUMBER : V_EMPNO 를 숫자타입으로 지정한다.
- UPDATE PLEMP ... : 일반 SQL문과 같이 UPDATE를 해준다.
- EMPNO = V_EMPNO : 사원번호와 V_EMPNO 의 번호가 같은것만 SAL * 1.5한다.
EXECUTE UPDATE_SAL(7369);
- 7369의 사원번호의 연봉을 1.5배 한다.
DELETE
CREATE OR REPLACE PROCEDURE DELETE_EMP(P_NAME IN PLEMP.ENAME%TYPE)
IS
BEGIN
DELETE FROM PLEMP
WHERE P_NAME = ENAME;
COMMIT;
END DELETE_EMP;
- DELETE_EMP(P_NAME IN PLEMP.ENAME%TYPE) : P_NAME은 PLEMP.ENAME의 타입과 같게 한다.
- DELETE FROM PLEMP .... : 일반 SQL문과 같이 DELETE 문을 작성한다.
EXECUTE DELETE_EMP('seonzone');
- DELETE 할 이름을 넣어준다.
INSERT로 추가했던 사원이름 'seonzone'이 삭제되었다.
'SQL' 카테고리의 다른 글
[PL/SQL] RECORD (0) | 2021.08.06 |
---|---|
[PL/SQL]IF, CASE (0) | 2021.08.06 |
[PL/SQL] 개념, 기본문법 (0) | 2021.08.05 |
[ORACLE]JOIN ( INNER, OUTER) + ANSI (0) | 2021.08.01 |
[ORACLE]VIEW , 계층구조 (0) | 2021.08.01 |