[PSM이란?]
: SQL에 프로그래밍 언너 설계 기능을 절차적으로 추가한 것
: 데이터베이스에서 SQL에 대해 절차적 로직을 실행하는 방법을 제공하기 위해 개발한 절차적 언어
: 데이터 캡슐화, 예외처리, 정보 숨김, 객체 지향 등의 기능 제공
: SQL문을 블록구조 및 프로시저 단위 코드에 포함시킬 수 있는 강력한 트랜잭션 처리 언어


[PSM 처리 과정]
: 선행 컴파일러에서 PSM 블록(코드)를 제출하면, 서버 내의 PSM 엔진이 처리함
: PSM엔진은 블록 내의 SQL문을 분리하여 하나씩 SQL문 실행자로 전송 함
: PSM 코드는 서버에 저장할 수 있으며 이를 Stored 로 부른다 -> stored procedure


[PSM 블록 구조]
DECLARE
변수 선언문;
BEGIN
프로그램 코드; (-> 커서 구문 -> OPEN / FETCH / CLOSE)
EXCEPTION
예외 처리문;
END;

변수 선언문 : 블럭에서 사용할 변수 정의. 커서 정의와 중첩된 프로시저 및 함수도 여기서 정의
프로그램 코드 : 블럭을 구성하는 psm문
예외 처리문 : 런타임 오류나 예외 발생시 트리거 되는 프로그램 코드

* 각 블럭에서 문장의 끝을 알리기 위해 반드시 ;을 붙임
* begin내에 다른 블럭을 내포할 수 있음


+ Recent posts