728x90
728x90
PL/SQL
SQL을 확장한 절차적인 언어
오라클에서 제공
쿼리문을 하나씩 수행하는 SQL과 다르게
프로시져, 트리거를 통해 반복적으로 수행할 수 있습니다.
구조
(DECLARE) : 변수,상수,커서, 사용자 지정 예외 선언부
BEGIN : SQL문장, PL/SQL제어문장
(EXCEPTION) : 에러발 생시 수행될 액션
END
프로시저
반복적인 트랜잭션을 수행할 수 있는 PL/SQL블록
SQL뿐만 아니라 IF문이나 WHILE문이등 제어문이나 반복문을 구현가능
DB내에 미리 컴파일되어 저장되므로 필요할떄마다 매번 다시 사용가능
함수
매개변수를 받아서 반복적으로 수행하는 PL/SQL블록
*함수와 프로시져 차이는 리턴값의 유무입니다.
프로시저는 수행하는 절차가 목적이 되어 리턴값이 없으며
함수는 어떠한 결과를 도출해 내는 것이 목적이기 때문에 리턴값이 존재합니다.
예를 들어 팬클럽에 가입하거나 탈퇴하는 절차는 프로시저로 구현하고,
팬클럽에 가입한 회원 수나 날짜 등 결과값이 필요할 땐 함수로 구현하였습니다.
트리거
자동으로 수행되는 일종의 프로시져입니다.
제약조건으로 정의 할 수 없는 복잡한 요구사항에 대한 제약조건을 자동으로 확인하는 목적예를 들어 팬클럽에 가입할 수 있는 회원의 나이제한을 자동으로 구현하기 위해 트리거 사용
728x90
반응형
'🌱 Computer Science > Database' 카테고리의 다른 글
SQL 기본문법정리1(DDL/DML/DCL/TCL) (0) | 2020.01.20 |
---|---|
[Mysql아키텍쳐2] 스레드구조/IO매커니즘/InnoDB 내부구조 (1) | 2020.01.20 |
[Mysql 아키텍쳐1] 커넥션풀/Mysql엔진/스토리지엔진 (0) | 2020.01.19 |
정형데이터 vs 비정형데이터 (RDBMS VS NOSQL) (0) | 2020.01.19 |
OLAP/OLTP/DW/ETL 용어정리 (0) | 2020.01.17 |
트랜잭션 특징(ACID) /Rollback /Commit (0) | 2020.01.12 |