본문 바로가기

SQL4

[SPOOL] SQL 스크립트를 출력하는 스풀링 서론 Table이나 Procedure, Fuction 등 간혹 백업을 위해서 스크립트를 추출해야 하는 경우가 있는데, 이를 하나씩 조회하고 파일로 저장하다가 귀찮아서 Spool을 이용하여 동적으로 스크립트를 저장할 수 있는 쿼리를 만들어 보았다. 1. 동적 Script 추출 쿼리 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 /** 스크립트 실행 결과 출력 **/ SET FEEDBACK OFF /** 스크립트 검증 **/ SET VERIFY OFF /** 스크립트 명령 출력 **/.. 2020. 4. 24.
[SQL] WITH문을 이용한 계층형쿼리 ( With. CONNECT BY절) 계층형 구조(Hierarchical Structure)는 부모와 자식 간의 관계를 깊이로 구분하여 표현하는 것으로 트리구조, 보통 카테고리를 분류나 조직도에 많이 사용된다. 개발자들이 흔히 사용하는 Visual Studio나 이클립스와 같은 IDE의 Project 탐색기, 폴더의 탐색기에도 사용된다. 일반적으로 RDBMS에서는 행(Row) 단위로 데이터가 조회되어 다른 행과의 관계를 나타내는 계층형 구조를 조회하기 힘들다. 하지만, WITH문을 이용하면 계층형 구조의 데이터를 조회할 수 있다. Oracle은 10g버전부터 CONNECT BY문 을 이용하여 계층형 쿼리를 만들 수 있고, 11g R2 버전부터 Recursive Subquery Factoring 기능이 추가되어 WITH문으로 재귀가 가능하게 .. 2020. 1. 23.
[SQL] WITH문 Query을 작성하다보면 SubQuery를 사용하는 경우가 많다. 한두개만 사용하면 괜찮지만 그 수가 많아질 수록 가독성이 떨어지며, 재사용할 수가 없어서 매번 같은 Query를 작성해줘야 한다. 그래서, 이번 포스트에서는 이 문제점을 해소하는데 도움이 되는 WITH문에 대해서 알아보도록 하겠다. 1. WITH문이란? 1-1. 이름을 가진 SubQuery를 정의한 후 사용하는 구문. 1-2. Query의 전체적인 가독성을 높이고, 재사용할 수 있는 장점이 있음. 1-3. 대부분의 DBMS에서 지원함. 1-4. 계층형쿼리를 구현할 수 있음. - WITH순환절. - 오라클은 11g 버전부터 계층형쿼리를 위한 CONNECT BY절을 지원함. 1-5. 오라클에서는 한번만 사용되면 Inline View, 두번이상.. 2020. 1. 22.
[PL/SQL] 무작정 시작하기 (1) - PL/SQL 이란? 데이터베이스에서 데이터를 조회하고 테이블을 정의하는 등의 단순한 행위는 SQL로 충분히 가능하다. 그러나, SQL 중간에 분기처리를 한다던가 조회된 결과를 변수로 사용하거나 예외처리를 하는 기능은 제공되지 않는다. 이러한 SQL의 단점을 개선해서 나온것이 바로 PL/SQL(Procedural Language extension to SQL)이다. 이번 포스트에서는 예제를 통해 PL/SQL을 알아보도록 하겠다. 1. PL/SQL(Procedural Language extension to SQL)이란? 1-1. SQL을 확장한 절차적 언어. 1-2. 여러 SQL을 하나의 블록(Block)으로 구성하여 SQL을 제어할 수 있음. - Commit, Rollback, 예외처리 등. 1-3. 조건문(IF), 반복문(.. 2020. 1. 13.