본문 바로가기
Programming_Language/Oracle_Sql

[Procedure] 프로시저란?

by Cocopop 2023. 7. 4.
반응형

Procedure :

- 매개변수를 사용하여 호출할 수 있는 하위 프로그램.

- 일반적으로 절차를 사용하여 작업을 수행. 

(일련의 작업을 정리한 절차)

- 보통 단독으로 실행해야 할 작업을 위임받았을 때 사용.

 

* 절차 (규격, 매개 변수 선언)

- 규격 : Procedure 키워드로 시작하여 프로시저 이름 또는 파라미터 목록으로 끝낸다.

- 매개 변수 선언 : 선택 사항

   1)  매개 변수를 사용하지 않는 절차는 괄호 없이 작성

   2)  절차 본문은 키워드 IS(또는 AS)로 시작하고 키워드 END 뒤에 선택적인 절차 이름으로 끝낸다.

 

 

* 프로스저와 함수 차이점!

1. 리턴 값 유무(함수는 무조건 리턴값이 있어야 한다.) 

- 프로시저는 없어도 상관 없다.

2. 리턴 값 개수(함수는 무조건 1개의 리턴 값을 가질 수 있다)

- 프로시저는 1개 이상도 괜찮다.

3. 쿼리문 내에서 실행 가능(함수는 SELECT,WHERE 문에서 사용가능)

- 프로시저는 사용불가

4. 처리 (함수는 화면에서 값을 건네 받고 서버에서 필요한 값을 가져와서 화면에서 작업을 하고 반환..)

- 프로시저는 화면에서 값을 건네받아 서버에서 작업을 한 뒤 클라이언트에게 전달.

5. 함수는 여러 작업을 하기 위한 기능, 프로시저는 작업을 순차적으로 정리한 것.

 

 

* 형식

CREATE [OR REPLACE] FUNCTION 함수명
[ ( 매개변수명1 자료형
  , 매개변수명2 자료형
) ]
RETURN 데이터타입
IS
        -- 주요 변수 선언
BEGIN
        -- 실행문;
        ...
        RETURN 값;

        [EXCEPTION]
               -- 예외 처리 구문;
END;

--,[] 는 생략 가능

 

* 호출

 EXEC[UTE] 프로시저명 [ ( 인수1, 인수2, ...) ];

 

 

300x250