본문 바로가기

02. SQLP 스터디/05. Oracle 기타

[오라클 PL/SQL] 동적 SQL [3 ~ ] / 45

오라클 PL/SQL 강좌#2 : 오라클 PL/SQL에서 동적 SQL(Dynamic SQL) 사용법 - 1
  • DDL을 사용하는 경우
변수를 이용하여 SQL문장을 동적으로 만들어 내는 경우
  • 간단한 이론 및 예문실습
7. Dynamic SQL 7.1 Dynamic SQL 이란?
 PL/SQL은 Binding이 Compile시에 일어나므로 Database Object의 Name이 Compile시에 고정되어야 하는 등의 제한이 있지만 Dynamic SQL을 사용한다면 SQL문을 변수에 정의하여 SQL문의 최종완성을 런타임중에 할 수 있다는 장점이 있다.
 DBMS_SQL Package로 Dynamic SQL문의 사용을 가능하게 했는데 이는 Database Object의 Name을 Runtime에 줄 수 있을 뿐 아니라 DDL문장을 기술할 수도 있는 장점이 있다.  
 다음과 같은 경우 Dynamic SQL을 사용한다.
  • DDL을 사용하는 경우
  • 변수를 이용하여 SQL문장을 동적으로 만들어 내는 경우(검색조건, 정렬조건, 힌트구문)
  • 컴파일타임에 존재하지 않는 DB Object를 참조하는 경우(테이블의 이름을 동적으로 생성)
  • PL/SQL블록에서 다른 프로시저등을 호출하는 경우