절차형 SQL

절차형 SQL의 개요

절차형 SQL은 C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL을 의마한다.

절차형 SQL은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 SQL 문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다.

절차형 SQL을 활용하여 다양한 기능을 수행하는 저장 모듈을 생성할 수 있다.
절차형 SQL은 DBMS 엔진에서 직접 실행되기 때문에 입 출력 패킷이 적은 편이다.

BEGIN~ END 형식으로 작성되는 블록 구조로 되어 있기 때문에 기능별 모듈화가 가능하다.

절차형 SQL의 종류에는 프로시저, 트리거, 사용자 정의 함수가 있다.

프로시저 : 특정 기능을 수행하는 일종의 트랜잭션 언어로 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다.

프로시저 기본 문법

CREATE OR REPLACE procedure name 
   IN argument 
   OUT argument 
   IN OUT argument 

IS 

   [변수의 선언]

BEGIN  --> 필수 

   [PL/SQL Block] 
   -- SQL문장, PL/SQL제어 문장 

   [EXCEPTION]  --> 선택
  -- error가 발생할 때 수행하는 문장

END;  --> 필수 

프리시저는 처리결과를 반환하지 않거나 한 개 이상의 값을 반환합니다.

트리거 : 데이터베이스 시스템에서 데이터의 입력 갱신 삭제 등의 이벤트가 발생할 때 마다 관련 작업이 자동으로 수행된다.

트리거 기본 문법

CREATE [OR REPLACE] TRIGGER 트리거명 [동작시기 옵션][동작 옵션] ON 테이블명
REFERENCING [NEW|OLD] AS 테이블명
FOR EACH ROW
[WHEN 조건식]
BEGIN
트리거 BODY;
END;```

**사용자 정의 함수** : 프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료시 예약어 Return을 사용하여 처리 결과를 단일값으로 반환한다.

### 쿼리 성능 최적화
쿼리 성능 최적화는 데이터 입, 출력 어플리케이션의 성능 향상을 위해 SQL 코드를 최적화 하는것이다. 

좋은 웹페이지 즐겨찾기