본문 바로가기

오라클6

[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] 무작정 시작하기 (5) - EXCEPTION 예외 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (1) - PL/SQL 이란? 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (2) - IF 조건문 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작성 시작하기 (3) - LOOP, WHILE 반복문 2020/01/14 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (4) - CURSOR 지난 포스트에서는 PL/SQL에서 가장 많이 사용되는 CURSOR에 대해서 다루어 보았다. CURSOR와 더불어 PL/SQL에서 가장 중요한 요소라고 생각하는 것은 바로 예외(Exception)처리이다. 왜냐하면, 대부분의 프로그램.. 2020. 1. 16.
[PL/SQL] 무작정 시작하기 (4) - CURSOR 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (1) - PL/SQL 이란? 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (2) - IF 조건문 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작성 시작하기 (3) - LOOP, WHILE 반복문 지난 시간까지 조건문과 반복문에 대해서 알아보았다. 이번 포스트에서는 반복문과 짝꿍을 이뤄서 PL/SQL에서 가장 많이 사용되는 CURSOR에 대해서 알아보도록 하겠다. 1. CURSOR란? 1-1. SELECT문을 통해 얻어진 결과 행들은 메모리에 저장되는데, 이 저장되는 장소를 커서(CURSOR)라고 함. 1-2. PL/SQL에서는 원래 단.. 2020. 1. 14.