PL/SQL 이란? (기본개념)
PL/SQL란?
Procedural Language/SQL 란 말로, ORACLE에서 만든 언어로 ORACLE 제품 내에서는 사용이 가능하나 다른 제품에선 지원되지 않는다.
- SQL언어에 절차형 프로그래밍 언어의 장점을 살려 만든 SQL의 확장 언어
SQL의 단점?
- 같은 테이블에 여러 개의 행을 입력하는 경우, 동일한 문장을 반복적으로 실행해야 한다.
- 이미 입력한 데이터를 다시 입력하려고 할때 발생하는 에러를 처리할수 없다.
- 반복적으로 사용되는 SQL 문을 LIBRARY로 생성해 둘 수 없다.
PL/SQL은 위와 같은 SQL언어의 단점을 보완한다.
<PL/SQL의 종류>
#. Anonymous procedure
- 이름없이 사용되는 PL/SQL 블록
- DB에 저장되지 않고, 사용자가 실행하려는 SQL문을 필요로 할때마다 반복적으로 작성하여 실행하는 방법
#.프로시저(Stored Procedure)
- 각 프로그램 별로 이름을 가지고 데이터베이스에 저장되어 사용되며, 인자를 받아서 호출되고 실행된다.
#.함수(Stored Function)
- 각 프로그램 별로 이름을 가지고 데이터베이스에 저장되어 사용된다.
- 인자를 받아서 호출되고 , 실행되며, 그 결과를 반환한다.
- 일반적으로, 값을 계산하기 위해 사용된다.
#패키지(Package)
#트리거(Trigger)
<PL/SQL의 블록 구조>
- PL/SQL 블록내에서는 한 문장이 종료할 때마다 세미콜론(;)을 사용 한다.
- END뒤에 세미콜론(;)을 사용하여 하나의 블록이 끝났다는 것을 명시 한다.
- 선언부 , 실행부, 예외처리부로 구성
---------------------------------------
DECLARE : 선언부 -> 생략가능(Optional)
- 변수 , 커서 , 사용자 정의 예외 선언
---------------------------------------
BEGIN -> 필수적(Mandatory)
- SQL 실행문 , PL/SQL 실행문
EXCEPTION : 예외처리부 -> 생략가능(Optional)
- 예외가 발생되었을 때 처리
---------------------------------------
END; -> 필수적(Mandatory)
---------------------------------------
출처 : http://blog.naver.com/my0biho/40145999365
[출처] Oracle - PL/SQL란?|작성자 비호