위로
아래
PL / SQL
PL / SQL (Procedural Language extension to SQL)
- SQL을 확장한 절차적 언어
- 관계형 데이터베이스에서 사용되는 오라클의 표준 데이터 엑세스 언어
- SQL의 단점을 해결할 수 있다.
- 블록 단위의 실행을 제공한다.
- 종류
- Procedure 프로시저
- Function 함수
- Trigger 트리거
SQL의 단점
- 변수가 없다
- 한 번에 하나의 명령문만 사용할 수 있다 (트래픽 증가)
- 제어문(if, loop) 사용 불가
- 예외처리가 없다
프로시저
- 함수처럼 로직을 처리하지만, 결과 값을 반환하지는 않는다.
- 자주 사용하는 로직을 프로시저로 만들고 필요할 때마다 호출할 수 있다.
- 여러가지 쿼리를 한 번에 처리할 때, 또는 복잡한 쿼리를 처리할 때 사용할 수 있다.
기본 블록 구조
DECLARE
- 선언부
- 변수 / 상수 / 커서 등을 선언
BEGIN
- 실행부
- 절차적 형식으로 SQL문을 실행할 수 있도록 해주는 부분
- 제어문, 반복문, 함수 정의 등의 로직을 기술할 수 있다
EXCEPTION
- 예외 처리부
- PL / SQL 문이 실행되는 중에 에러가 발생했을 때 해결하기 위한 문장을 기술
END
- 실행문 종료
사용법
DECLARE
msg varchar(40) := 'hello world'; -- 선언부
BEGIN
dbms_output.put_line(msg); -- 실행부
END;
/