본문 바로가기
🌱 Computer Science/Database

PLSQL 트리거/프로시져/함수차이점

by 카프리썬_ 2020. 1. 14.
728x90

PL/SQL

SQL을 확장한 절차적인 언어

오라클에서 제공

쿼리문을 하나씩 수행하는 SQL과 다르게

프로시져, 트리거를 통해 반복적으로 수행할 수 있습니다.

구조

(DECLARE) : 변수,상수,커서, 사용자 지정 예외 선언부

BEGIN : SQL문장, PL/SQL제어문장

(EXCEPTION) : 에러발 생시 수행될 액션

END

 

프로시저

반복적인 트랜잭션을 수행할 수 있는 PL/SQL블록

SQL뿐만 아니라 IF문이나 WHILE문이등 제어문이나 반복문을 구현가능

DB내에 미리 컴파일되어 저장되므로 필요할떄마다 매번 다시 사용가능

 

함수

매개변수를 받아서 반복적으로 수행하는 PL/SQL블록

 

*함수와 프로시져 차이는 리턴값의 유무입니다.
프로시저는 수행하는 절차가 목적이 되어 리턴값이 없으며
함수는 어떠한 결과를 도출해 내는 것이 목적이기 때문에 리턴값이 존재합니다.
예를 들어 팬클럽에 가입하거나 탈퇴하는 절차는 프로시저로 구현하고,

팬클럽에 가입한 회원 수나 날짜 등 결과값이 필요할 땐 함수로 구현하였습니다.

 

트리거

자동으로 수행되는 일종의 프로시져입니다.

제약조건으로 정의 할 수 없는 복잡한 요구사항에 대한 제약조건을 자동으로 확인하는 목적예를 들어 팬클럽에 가입할 수 있는 회원의 나이제한을 자동으로 구현하기 위해 트리거 사용  

 

반응형