728x90
반응형
#오라클 PL/SQL 프로시저(procedure) 사용법
-특정 처리 작업을 수행하는데 사용하는 저장 서브프로그램입니다.
#파라미터를 사용하지 않는 프로시저
CREATE OR REPLACE PROCEDURE 프로시저명
IS
-- 선언부
BEGIN
-- 실행부
EXCEPTION
-- 예외 처리부
END;
-PROC라는 이름의 프로시저 생성 후 출력 결과 테스트
-디비버툴에서는 프로시저 지원안해주는지 SQL*PLUS에서 실행 : EXCUTE 프로시저명;
CREATE OR REPLACE PROCEDURE PROC
IS
V_EMPNO NUMBER(4) := 1234;
BEGIN
DBMS_OUTPUT.PUT_LINE('V_EMPNO : ' || V_EMPNO);
END;
/
-결과
-익명 블록에서 프로시저 실행
BEGIN
프로시저명;
END;
/
-결과
V_EMPNO : 1234
#파라미터를 사용하는 프로시저(IN 모드 파라미터)
-프로시저 실행에 필요한 값을 직접 입력받는 형식의 파라미터 지정 방식입니다.
(IN은 default 값)
CREATE OR REPLACE PROCEDURE PROC_PARAMS
(
param1 IN NUMBER,
param2 NUMBER
)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('param1: ' || param1);
DBMS_OUTPUT.PUT_LINE('param2: ' || param2);
END;
-파라미터 넣어서 프로시저 실행
BEGIN
PROC_PARAMS(1,2);
END;
-결과
param1: 1
param2: 2
#파라미터를 사용하는 프로시저(OUT 모드 파라미터)
-프로시저 실행 후 호출한 프로그램으로 값을 반환 받을수 있는 방식입니다.
CREATE OR REPLACE PROCEDURE PROC_OUT
(
param1 OUT NUMBER
)
IS
BEGIN
SELECT DEPTNO INTO param1
FROM DEPT
WHERE DEPTNO = 10;
END PROC_OUT;
-PORC_OUT 프로시저 호출
DECLARE
param1 NUMBER;
BEGIN
PROC_OUT(param1);
DBMS_OUTPUT.PUT_LINE('param1: ' || param1);
END;
-결과
param1: 10
#SQL*PLUS에서 SHOW ERRORS;로 프로시저 오류를 확인할 수 있다.
#USER_SOURCE 테이블을 조회하면 생성된 프로시저를 확인할 수 있습니다.
SELECT * FROM USER_SOURCE;
-결과
#프로시저 삭제하는 방법
DROP PROCEDURE PROC;
728x90
반응형
'IT > Oracle' 카테고리의 다른 글
[Oracle] - 오라클 PL/SQL 트리거(trigger) 사용법 (0) | 2022.07.06 |
---|---|
[Oracle] - 오라클 PL/SQL 함수(function) 사용법 (0) | 2022.07.06 |
[Oracle] - 오라클 PL/SQL 오류 발생시 예외 처리 방법 (0) | 2022.07.06 |
[Oracle] - 오라클 PL/SQL 커서(cursor) 사용법 (0) | 2022.07.06 |
[Oracle] - 오라클 PL/SQL 레코드(record), 컬렉션(collections) 사용법 (0) | 2022.07.06 |
댓글