[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) 이름 지정 모호성 : 변수 명과 테이블의 컬럼 명과 같은 경우, 테이블의 컬럼으로 우선하여 수행한다.
'PL SQL' 카테고리의 다른 글
PL/SQL 반복문 (Basic LOOP, WHILE LOOP, FOR LOOP, 중첩 루프 및 레이블) (1) | 2016.07.07 |
---|---|
PL/SQL 제어문 (IF, CASE) (0) | 2016.07.07 |
PL/SQL 개관 - 2 (중첩 블록 및 PL/SQL에서 사용 가능한 SQL) (0) | 2016.07.07 |
PL/SQL 개관 - 1 (정의, 특징, 장점, Block의 종류) (0) | 2016.07.07 |
PL/SQL 패키지 (Package) - 3 (패키지 작성 지침, 오버로드, 지속 상태, 상수 및 예외 표준화) (0) | 2016.07.07 |