728x90
728x90
절차형 SQL
일반적인 개발 언어처럼 SQL 언어에서도 절차 지향적인 프로그램이 가능하도록 하는 트랜잭션 언어
출력부
DBMS_OUTPUT 패키지
메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스 패키지
절차형 SQL이 정상적으로 구현되었는지 테스트하는 목적으로 사용
- DBMS_OUTPUT.PUT(문자열);
- DBMS_OUTPUT.LINE(문자열);
제어부
- IF문 : 조건이 참인지 거짓인지에 따라 경로를 선택하는 조건문
- 간단한 케이스 문 : 명확한 값을 가지는 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용하는 조건문
- 검색된 케이스 문 : 명확한 값 및 범위를 가지는 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용하는 조건문
- LOOP 문 : 특정 조건이 만족될 때까지 반복해서 문장을 실행하는 반복문
- WHILE 문 : 시작과 종료 조건을 지정하여 참인 동안에는 해당 문장을 반복해서 실행하는 명령문
- FOR LOOP 문 : 시작 값과 끝값을 지정하여 해당 값이 그 구간 내에 있을 때 반복하는 반복문
예외부
실행 중 발생 가능한 예외상황을 수행하는 부분
프로시저
일련의 쿼리들을 마치 하나의 함숯처럼 실행하기 위한 쿼리의 집합
프로시저 구성
- 선언부(DECLARE) : 프로시저의 명칭, 변수와 인수, 데이터 타입을 정의
- 시작/종료부(BEGIN/END) : 프로시저의 시작과 종료를 표현
- 제어부(CONTROL) : 조건문과 반복문을 이용하여 문장을 처리
- SQL : DML을 주로 사용
- 예외부(EXCEPTION) : BEGIN~END절에서 실행되는 SQL 문이 실행될 때 예외 처리 방법을 정의하는 처리부
- 실행부(TRANSACTION) : 프로시저에서 수행된 DML 수행 내역의 DBMS의 적용 또는 취소 여부를 결정하는 처리부
사용자 정의 함수
일련의 SQL 처리를 수행하고 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL
사용자 정의 함수 구성
- 선언부(DECLARE) : 사용자 정의 함수의 명칭, 변수와 인수, 데이터 타입을 정의
- 시작/종료부(BEGIN/END) : 사용자 정의 함수의 시작과 종료를 표현
- 제어부(CONTROL) : 조건문과 반복문을 이용하여 문장을 처리
- SQL : 조회 용도로 SELECT 문을 사용
- 예외부(EXCEPTION) : BEGIN~END절에서 실행되는 SQL 문이 실행될 때 예외 처리 방법을 정의하는 처리부
- 반환부(RETURN) : 호출문에 대한 함숫값을 반환
트리거
데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
데이터 변화가 생길 때마다 실행되는 행트리거와 트리거에 의해 단 한 번 실행되는 문장 트리거가 있다.
트리거 구성
- 선언부(DECLARE) : 트리거의 명칭을 정의하는 부분
- 이벤트 부(EVENT) : 트리거가 실행되는 타이밍, 이벤트를 명시하는 부분
- 시작/종료부(BEGIN/END) : 트리거의 시작과 종료를 표현
- 제어부(CONTROL) : 조건문과 반복문을 이용하여 문장을 처리
- SQL : DML을 주로 사용
- 예외부(EXCEPTION) : BEGIN~END절에서 실행되는 SQL 문이 실행될 때 예외 처리 방법을 정의하는 처리부
728x90
반응형
'CS' 카테고리의 다른 글
개발환경 구축 (0) | 2023.04.08 |
---|---|
쿼리 성능 개선과 옵티마이저 (0) | 2023.04.07 |
응용 SQL (0) | 2023.04.07 |
DDL, DML, DCL의 개념 (0) | 2023.04.07 |
트랜잭션 (0) | 2023.04.06 |
댓글