본문 바로가기

DATABASE/ORACLE12

[PL/SQL] 무작정 시작하기 (2) - IF 조건문 2020/01/13 - [DATABASE/ORACLE] - [PL/SQL] 무작정 시작하기 (1) - PL/SQL 이란? 이전 포스트에서 PL/SQL에 대해서 간략하게 알아보고 예제를 만들어 보았다. 이번 포스트에서는 PL/SQL의 특징 중 하나인 조건문에 대해서 알아보려고 한다. 프로그래밍을 해본 사람이라면 쉽게 이해할 수 있을 것이라고 생각된다. 1. 기본 구조. 1-1. IF ~ ELSIF ~ ELSE ~ END. 1 2 3 4 5 6 7 IF 조건식 THEN [ ELSIF 조건식 THEN ] ELSE END IF cs - 조건식이 참인 경우 THEN 영역의 작업이 수행됨. - 다중IF문이 다른 프로그래밍 언어처럼 ELSE IF가 아니라 ELSIF이므로 잘 확인하길 바람. - ELSE에는 THEN .. 2020. 1. 13.
[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.
20190925 오늘은 대용량 파티션 테이블 여러개를 조인해야할 일이 있었는데 도무지 속도가 나질 않아서, 플랜을 떠보니 Lested Loops 조인을 타고 있었다. SELECT A.USER_ID , A.DEPT_ID , B.DEPT_NAME FROM EMP_T A INNER JOIN DEPT_T B ON B.DEPT_ID = A.DEPT_ID WHERE 1=1 Lested Loops 조인은 프로그래밍의 반복문처럼 소스 테이블을 기준으로 타겟 테이블을 반복하면서 조인을 한다. for ( int i = 0; i < n; i ++) { for ( int j = 0; j < m; j++) { .... } } 따라서, 대용량 테이블을 조인할 경우 비효율적으로 테이블에 접근하기 때문에 추천하지 않는다. 직접 쿼리를 짜보면서 느낀.. 2019. 9. 25.
자주 사용하는 오라클 DML 정리 /***********************************/ /******* 파티션 테이블 생성 ******/ /**********************************/ CREATE TABLE HEO.MY_CONTENTS ( STRD_DT VARCHAR2(8) NOT NULL , CNTNTS_ID VARCHAR2(10) NOT NULL , SUBJECT VARCHAR2(50) , CONTENTS VARCHAR2(4000) , LOAD_DTTM VARCHAR2(14) ) TABLESPACE TS_HEO_DAT PARTITION BY RAGNE ( 'STRD_DT' ) ( PARTITION PT_MIN VALUE LESS THAN ( '20181231' ) , PARTITION PT_20190.. 2019. 9. 23.