[PSM이란?]
: SQL에 프로그래밍 언너 설계 기능을 절차적으로 추가한 것
: 데이터베이스에서 SQL에 대해 절차적 로직을 실행하는 방법을 제공하기 위해 개발한 절차적 언어
: 데이터 캡슐화, 예외처리, 정보 숨김, 객체 지향 등의 기능 제공
: SQL문을 블록구조 및 프로시저 단위 코드에 포함시킬 수 있는 강력한 트랜잭션 처리 언어
[PSM 처리 과정]
: 선행 컴파일러에서 PSM 블록(코드)를 제출하면, 서버 내의 PSM 엔진이 처리함
: PSM엔진은 블록 내의 SQL문을 분리하여 하나씩 SQL문 실행자로 전송 함
: PSM 코드는 서버에 저장할 수 있으며 이를 Stored 로 부른다 -> stored procedure
[PSM 블록 구조]
DECLARE
변수 선언문;
BEGIN
프로그램 코드; (-> 커서 구문 -> OPEN / FETCH / CLOSE)
EXCEPTION
예외 처리문;
END;
변수 선언문 : 블럭에서 사용할 변수 정의. 커서 정의와 중첩된 프로시저 및 함수도 여기서 정의
프로그램 코드 : 블럭을 구성하는 psm문
예외 처리문 : 런타임 오류나 예외 발생시 트리거 되는 프로그램 코드
* 각 블럭에서 문장의 끝을 알리기 위해 반드시 ;을 붙임
* begin내에 다른 블럭을 내포할 수 있음
'IT Engineer > Database' 카테고리의 다른 글
[Database] XA 개념 정리. XA? Non-XA? 분산트랜잭션 (0) | 2018.01.18 |
---|---|
[Database] Split Brain이란? cluster partition시 발생하는 split brain (0) | 2018.01.18 |
[Database] ODBC란? Indicator variable(indicator변수)란? (0) | 2018.01.18 |
[DataBase] LATCH와 LOCK. LOCK의 MODE (0) | 2018.01.18 |
[DataBase] INFORMATION_SCHEMA와 DICTIONARY_SCHEMA 차이? (0) | 2018.01.18 |