절차형 SQL
- 일반적인 개발언어처럼 SQL문도 절차지향적인 프로그램 작성이 가능하도록 절차형 SQL을 제공한다.
- 절차 형 SQL을 사용하면 SQL문의 연속적인 실행이나 조건에 따른 분기 처리를 수행하는 모듈을 생성할 수 있다.
- 오라클) 이러한 절차 형 모듈의 종류는 프로시저, 사용자정의함수, 트리거가 있다.
- 오라클) 이러한 절차형 모듈을 PL/SQL이라고 부른다.
PL/SQL의 개요
- PL/SQL은 Block 구조로 되어 있고 Block 내에는 SQL문, IF, LOOP 등이 존재함
- PL/SQL을 이용해서 다양한 모듈을 개발 가능
PL/SQL의 특징
- Blcok 구조로 되어 있으며 각 기능별로 모듈화가 가능
- 변수/상수 선언 및 IF/LOOP문 들의 사용이 가능
- DBMS에러나 사용자 에러 정의를 할 수 있음
- PL/SQL은 오라클에 내장 시킬수 있으므로 어떠한 오라클 서버로도 이식이 가능
- PL/SQL은 여러 SQL문장을 Block으로 묶고 한번에 Block전부를 서버로 보내기 때문에 네트워크 패킷 수를 감소시킴
PL/SQL Block의 구조
오라클 프로시저 실습준비
오라클프로시저 생성
오라클 프로시저 실행
사용자 정의 함수
- 사용자 정의 함수는 프로시저처럼 SQL문을 IF/LOOP 등의 LOGIC과 함께 데이터베이스에 저장해 놓은 명령문의 집합이다.
- SUM, AVG, NVL의 함수처럼 호출해서 사용할 수 있다.
- 프로시저와 차이점은 반드시 한 건을 되돌려 줘야 한다는 것이다.
사용자 정의 함수 생성
사용자 정의 함수 생성 - SQLPLUS
사용자 정의 함수 호출
트리거
- 특정한 테이블에 INSERT, UPDATE, DELETE를 수행할 때 DBMS내에서 자동으로 동작하도록 작성된 프로그램이다.
- 즉 사용자가 직접 호출하는 것이 아니고 DBMS가 자동적으로 수행한다.
- 트리거는 테이블과 뷰, DB작업을 대상으로 정의 할 수 있으며 전체 트랜잭션 작업에 대해 발생되는 트리거와 각행에 대해 발생되는 트리거가 있다.
트리거 실습준비
트리커 생성
INSERT시 작동됨
트리거 생성 - SQLPLUS
트리거 실습
트리거 실습 - 새로운 직원을 입력
프로시저와 트리거의 차이점
'Computer Science > 데이터베이스' 카테고리의 다른 글
인덱스 기본 (1) | 2023.06.10 |
---|---|
옵티마이저와 실행계획 (1) | 2023.06.10 |
SQL DCL(Data Control Langauge)- Oracle (0) | 2023.06.10 |
SQL 윈도우 함수(WINDOW FUNCTION) - Oracle (1) | 2023.06.10 |
SQL 그룹함수 - Oracle (0) | 2023.06.10 |