기본개념)

 - 자신을 호출한 곳으로 리턴 해주는 값은 없고 호출되어 실행만 된다.

 - 실행환경과 Stored Program 사이에 값을 전달하기 위해 파라미터를 사용한다.

 - 파라미터 종류

1. IN : 호출하는 곳에서 함수 or 프로시저로 값을 전달

2. OUT : 함수 or 프로시저에서 호출한 곳으로 값을 전달 // 빈 깡통을 생각하면 쉽다. 비어이는 깡통에 결과값이 담긴다.

3. IN OUT : 호출하는 곳에서 함수 or 프로시저로 값을 전달하고 동시에 함수 or 프로시저에서 호출한 곳으로 값을 전달하는 변수

 - 프로시저 Hearder의 끝에는 IS[AS]가 와야하고 IS와 BEGIN사이에 BEGIN~END에서 사용할 변수를 선언

 - 자신의 스키마에서 프로시저를 만들기 위해서는 CREATE PROCEDURE 시스템권한이 있어야 하며,

   다른 스키마 계정에서 프로시저를 만들기 위해서는 CREATE ANY PROCEDURE 시스템 권한이 있어야 한다.


기본형식)

CREATE [OR REPLACE] PROCEDURE procedure_name[parameters]

IS[AS]

선언부

BEGIN

도입부

EXCEPTION

예외처리

END;


예제)

CREATE OR REPLACE PROCEDURE ojc3 (p_empno IN NUMBER, p_new_sal IN NUMBER) // 외부에서 값을 넣어주어야 한다.

IS 

BEGIN

UPDATE emp

SET sal = p_new_sal

WHERE empno = p_empno;


COMMIT;

END ojc3;


SELECT empnp, ename, sal FROM emp WHERE empno = 7369;


EMPNO  ENAME  SAL

7369      smith    800


호출)

exec ojc3(7369, 4500);


SELECT empnp, ename, sal FROM emp WHERE empno = 7369;


EMPNO  ENAME  SAL

7369      smith    4500



'Database' 카테고리의 다른 글

[ORACLE] SELECT문 알아보기  (0) 2018.02.28
[ORACLE] 오라클 기초 단일행 함수  (0) 2018.02.28
[ORACLE] 오라클 함수(Function)를 알아보자  (0) 2018.02.27

+ Recent posts