PL SQL

PL/SQL 개관 - 3 (SELECT문)

n.han 2016. 7. 7. 17:14

[PL/SQL SQL]

 

 - PL/SQL에서 사용 가능한 SQL

   1) Query, DML, TCL은 사용 가능하다.

   2) DDL (CREATE, DROP, ALTER, TRUNCATE …), DCL (GRANT, REVOKE) 명령어는 동적 SQL을 이용할 때만 사용 가능하다.

 

 - PL/SQL SELECT

   1) 내용 : PL/SQL SELECT문은 해당 SELECT의 결과를 PL/SQL Engine으로 보낸다. 이를 캐치하기 위한 변수를 DECLARE해야 하고, INTO절을 꼭 선언하여 넣을 변수를 꼭 표현해주어야 한다.

 2) 예제


DECLARE
  v_ename VARCHAR2(10) ;
  v_sal emp.sal%TYPE ;
BEGIN
  SELECT ename, sal INTO v_ename, v_sal FROM emp WHERE empno = 7788 ;
  DBMS_OUTPUT.PUT_LINE ( v_ename || ' : ' || v_sal ) ;
END ;
/
SCOTT : 3000
PL/SQL procedure successfully completed.

 

3) 주의 사항 : 실행되는 SELECT 문장은 반드시 한 개의 행이 검색되어야 한다. 그리고 이를 INTO절을 꼭 사용해야한다. 또한 검색되는 행이 없으면 문제가 발생한다.

4) SQL%ROWCOUNT : 바로 전 명령문에 의하여 영향 받는 ROW들의 개수가 저장되어 있다.

5) 이름 지정 모호성 : 변수 명과 테이블의 컬럼 명과 같은 경우, 테이블의 컬럼으로 우선하여 수행한다.