8장 SQL응용

2020. 11. 25. 00:48정보처리기사/시나공 정리

SECTION77. 프로시저(Procedure)

1. 프로시저의 개요

절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 미리 저장해놓은 SQL 작업을 수행한다.

- 프로시저를 만들어 데이터베이스에 저장하면 여러 프로그램에서 호출해서 사용할 수 있다.

- 프로시저는 데이터베이스에 저장되어 수행되기 때문에 스토어드 프로시저라고 불린다.

- 프로시저는 시스템의 일일 마감 작업, 일괄(Batch) 작업등에 주로 사용된다.

 

* 프로시저의 구성도

프로시저

DECRARE(필수): 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부

BEGIN(필수): 프로시저의 시작

- CONTROL: 조건문 또는 반복문이 삽입되어 순차적으로 처리

- SQL: DML, DCL이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행

- EXCEPTION: BEGIN~END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법을 정의

- TRANSACTION: 수행된 데이터 작업들을 DB에 적용할지 취소할지를 결정하는 처리부

END(필수): 프로시저의 종료

 

 

SECTION78. 트리거(Trigger)

1. 트리거의 개요

데이터베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다.

- 트리거는 데이터베이스에 저장되며, 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용된다.

- 트리거 구문에는 DCL을 사용할 수 없다.

 

2. 트리거의 구성

트리거

DECLARE(필수)

EVENT(필수): 트리거가 실행되는 조건을 명시

BEGIN(필수)

CONTROL

SQL

EXCEPTION

END(필수)

 

 

SECTION79. 사용자 정의 함수

1. 사용자 정의 함수의 개요

프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL

- DML문의 호출에 의해 실행된다.

- 예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없다.

- 테이블 조작은 할 수 없고, SELECT를 통한 데이터 조회만 할 수 있다.

- 프로시저를 호출하여 사용할 수 없다.

 

2. 사용자 정의 함수의 구성

사용자 정의 함수

DECLARE(필수)

BEGIN(필수)

CONTROL

SQL

EXCEIPTION

RETURN(필수)

END(필수)