실습전에 아래 권한이 있어야 함. system 권한으로 줄것.
GRANT CREATE PROCEDURE TO user01;
단축키 :
Output창 열기 : Ctrl + Shift + O
-------------------------------------------------------------------
샘플1) 파라미터 없는 프로시져
CREATE OR REPLACE PROCEDURE TEST01 AS
V_ENPNO NUMBER (4,0);
BEGIN
SELECT T1.empno
INTO V_ENPNO
FROM EMP T1
WHERE T1.empno = 7934;
DBMS_OUTPUT.PUT_LINE('EMPNO : ' || V_ENPNO);
END;
DBMS_OUTPUT.PUT_LINE('USER_ID : ' || V_ENPNO);
END;
CALL TEST01();
-------------------------------------------------------------------
샘플2) IN 파라미터 있는 프로시져
REATE OR REPLACE PROCEDURE TEST02(
IN_EMPNO IN EMP.EMPNO%TYPE
) AS
V_ENPNO NUMBER (4,0);
BEGIN
SELECT T1.EMPNO
INTO V_ENPNO
FROM EMP T1
WHERE T1.EMPNO = IN_EMPNO;
DBMS_OUTPUT.PUT_LINE('TEST02-EMPNO : ' || V_ENPNO);
END;
CALL TEST02(7901);
-------------------------------------------------------------------
샘플3) IN/OUT 파라미터 있는 프로시져
CREATE OR REPLACE PROCEDURE TEST03(
IN_EMPNO IN EMP.EMPNO%TYPE,
OUT_EMPNO OUT EMP.EMPNO%TYPE
) AS
BEGIN
SELECT T1.EMPNO
INTO OUT_EMPNO
FROM EMP T1
END;
DECLARE
I_EMPNO NUMBER (4,0);
O_EMPNO NUMBER (4,0);
BEGIN
I_EMPNO := 7900;
TEST03(I_EMPNO,O_EMPNO);
DBMS_OUTPUT.PUT_LINE('O_EMPNO : ' || O_EMPNO);
END;
참조글)
https://boomrabbit.tistory.com/237
'DB > ORACLE' 카테고리의 다른 글
NiFi 테스트용 샘플 데이터 (0) | 2023.11.03 |
---|---|
DBeaver 를 사용해서 프로시져 만드는 방법 (0) | 2023.10.25 |
With 절 사용하기 (0) | 2023.10.25 |
where 절에 field명 = null 을 쓸수 없는 이유.... (0) | 2023.10.11 |
OTL 사용법 (0) | 2023.10.10 |
댓글