오라클 (Oracle) PL/SQL 에 대해서 알아보자.
-- Last Update 2015.03.24
-- 일단 이번 포스팅에서는 PL/SQL 에 대해서 간략하게나마 알아보자.
PL/SQL 은 무엇이고 문법은 어떻게 되지??
■ PL/SQL 이란?
1. Procedural Language/SQL 의 약자
2. Oracle 에서 제공하는 데이터베이스 언어
-- 즉, Oracle 전용 SQL 인 것이다.
3. SQL에서 프로그래밍 언어의 역할을 함
-- 변수를 만들고 반복문 등을 수행할 수 있다.
■ PL/SQL 문법
DECLARE
[ 선언 ]
BEGIN
[ 실행 ]
EXCEPTION
[ 예외처리 ]
END;
-- DECLARE / 선언 : 변수들을 정의
-- BEGIN / 실행 : 실제 실행될 PL/SQL 이 들어감 (필수!!)
-- EXCEPTION / 예외처리 : 예외 발생 구문을 적는 부분
일단 문법이라고 해놓았지만 위 단락을 PL/SQL Block 라고 부르기도 한다.
■ PL/SQL 샘플(?)
DECLARE
box NUMBER;
BEGIN
SELECT empno INTO box
FROM emp
WHERE ename='WARD'
DBMS_OUTPUT.PUT_LINE(box);
EXCEPTION
WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('No Data!!!');
END;
-- Oracle 이 샘플로 제공하는 scott 계정으로 테스트 해보시면 됩니다.
위의 PL/SQL 을 간단히 설명하면 WARD 가 있으면 그의 사번 (empno) 를 조회해 와서 box 변수에 넣은 후
box 변수에 있는 값을 출력해 달라는 구문이다.
단, 해당 값이 없으면 'No Data!!!' 라고 예외 구문을 발생 시키도록 되어있다.
그런데 그냥 따라하면 PL/SQL의 결과가 안보인다~(!!)
결과를 보려면 아래 설정이 필요하다.
PL/SQL 사용을 위한 기본 설정 및 확인 법
■ SERVEROUTPUT 설정
SQL> SET SERVEROUTPUT ON;
기본적으로 PL/SQL은 결과물을 보여주지 않는다.
결과물을 보고 싶다면 SERVEROUTPUT 설정 을 ON 으로 설정해 주어야 한다.
■ Error~!?
SQL> SHOW ERRORS;
PL/SQL 은 오류를 안보여준다.
그렇기 때문에 위 명령어로 확인 한다.
맨 위의 예제를 실행하고 SERVEROUTPUT 옵션의 확인과 ERRORS 확인을 해본 것이다.
OFF 옵션일때는 결과가 안나오지만 ON 옵션일때 7521 이라는 결과 값이 나왔다.
그리고 Error 확인시 Error 는 없는 것으로 나오고 있다.
PL/SQL 의 실행 구조(?)
나중에 Oracle 을 상세하게 공부한다면 이런 부분도 참 중요하다고한다~(!?)
1. PL/SQL Block 실행
2. PL/SQL 엔진에서 PL/SQL 부분과 일반 SQL 부분이 분리
3. SQL 부분을 Database Server 가 처리
4. Database Server 에서 처리된 SQL 결과를 PL/SQL Engine 로 전달
5. PL/SQL Engine 에서 처리된 SQL 결과를 바탕으로 나머지 작업 수행
내가 직접그린(!!) 그림상으로는 3번까지로만 보이지만(?) 4, 5번의 과정이 이루어진다는 것을 알아두자.
'Specialty > Oracle' 카테고리의 다른 글
오라클 10g RAC 설치를 위한 RHEL4 Storage 설정 (Configuring Storage on RHEL4 for Install Oracle 10g RAC) (0) | 2015.03.29 |
---|---|
오라클 구조 (Oracle Structure) 를 Tree 형식으로 쉽고 간단하게 알아보자~(?) (0) | 2015.03.26 |
오라클 10g RAC 설치를 위한 RHEL4 설정 (Configuring RHEL4 for Installing Oracle 10g RAC) (2) | 2015.03.19 |
뷰 (View) 란 무엇인가~?? (0) | 2015.03.18 |
오라클 (Oracle) RAC 설치를 위한 리눅스 (Linux) RHEL4 설치 (0) | 2015.03.09 |