반응형
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
'Programming_Language > Oracle_Sql' 카테고리의 다른 글
[Oracle] LPAD, RPAD 함수 사용하기 (공백 채우기) (0) | 2023.06.26 |
---|---|
[Oracle] CONNECT BY LEVEL 로 FOR문처럼 사용하기 (0) | 2023.06.16 |
[Oracle] ROWNUM 대신 FETCH (0) | 2023.06.15 |