반응형
데이터베이스에서 자주 접하는 프로시져와 함수가 있다.
이 둘의 차이와 정의를 알아볼 포스팅이다.
프로시져란?
넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다.
예를들어 계좌 송금이라면
1. 상대방 계좌를 입력하고
2. 내 계좌에 금액이 충분한지 확인하고
3. 내 계좌에서 돈이 빠지고
4. 상대방 계좌로 돈이 입금 되는
이런 순서가 있다.
이처럼 프로세스를 절차적으로 기술이 된것을 프로시저라고 한다.
함수란?
프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라고 한다.
예를들어 내 계좌에 금액이 충분한지 체크 등 이런 기능들이 함수가 된다.
문법의 차이는 다음과 같다.
프로시저 문법 CREATE OR REPLACE PROCEDURE 프로시저 이름 ( 매개변수명1 [ IN || OUT || INOUT ] 데이터타입, 매개변수명2 [ IN || OUT || INOUT ] 데이터타입 ... ) IS||AS 변수, 상수 등 선언 ( 선언부 ) BEGIN 실행 문장 ( 실행부 ) EXCEPTION 문장 //필수아님 END ; |
함수 문법 CREATE OR REPLACE FUNCTION 함수 이름 ( 매개변수명1 매개변수1타입, 매개변수명2 매개변수2타입 ... ) RETURN 데이터타입 IS||AS 변수, 상수 등 선언 ( 선언부 ) BEGIN 실행 문장 ( 실행부 ) RETURN 반환값 //필수 EXCEPTION 문장 //필수아님 END ; |
둘의 차이는 아래 그림과 같다.
반응형
'IT > Database' 카테고리의 다른 글
NVL함수 (9) | 2023.01.15 |
---|---|
[Oracle] case 문 (10) | 2023.01.12 |
트랜잭션 격리 수준(isolation level) (15) | 2022.12.31 |
[Oracle] Decode 함수 (42) | 2022.11.18 |
[Mysql] 스토리지 엔진 MYISAM / INNODB (26) | 2022.11.05 |
댓글