09
15

특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그래이다. 테이블에서 데이터를 추출해 조작하고 그 결과를 다른 테이블에 다시 저장하거나 일련의 처리를 할 때 주로 프로시저를 사용한다.

 

생성

CREATE OR REPLACE PROCEDURE 프로시저명
	(매개변수형1 [IN | OUT | IN OUT] 데이터타입 [:= 디폴트값]
	,매개변수명2 [IN | OUT | IN OUT] 데이터타입 [:= 디폴트값]
	...
	)
IS[AS]
	변수, 상수 등 선언
BEGIN
	실행부
[EXCEPTION
	예외처리부]
END [프로시저명];

 

매개변수

IN은 입력, OUT은 출력, IN OUT은 입출력을 동시에 한다는 의미이다. 디폴트 값은 IN이다. OUT 매개변수는 프로시저 내에서 로직 처리 후, 해당 매개변수에 값을 할당해 프로시저 호출부분에서 이 값을 참조할 수 있다.

CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC
(	P_JOB_ID	IN	JOBS.JOB_ID%TYPE,
	P_JOB_TITLE	IN	JOBS.JOB_TITLE%TYPE,
	P_MIN_SAL	IN	JOBS.MIN_SALARY%TYPE,
	P_MAX_SAL	IN	JOBS.MAX_SALARY%TYPE)
IS

BEGIN
	INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE)
	VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE, SYSDATE);

	COMMIT;
END;

'스마트팩토리 > 오라클' 카테고리의 다른 글

계정과 스키마  (0) 2020.09.10
오라클 테이블 스페이스(Table Space)  (0) 2020.09.05
오라클 SQL 문법  (0) 2020.08.27
오라클 데이터 타입  (0) 2020.08.27
C#과 오라클 연동해보기  (0) 2020.08.26
COMMENT