반응형

DB

반응형
DB/오라클

View 조건침투(condition Pushdown)

이번포스팅에서는 오라클 View의 중요한 사용법 중 하나인 조건침투방법에 대해 정리해 보려 합니다. View 조건침투 오라클에서 뷰(View)는 하나 이상의 테이블이나 다른 뷰를 기반으로 생성된 가상테이블입니다. 뷰를 사용할 때는 조건침투(condition Pushdown)라는 개념을 이해하는 것이 중요합니다. 저는 여태까지 View를 사용하면서 View안에 조건들을 미리 다 정의해 놓고 해당 View를 사용하면 항상 같은 결과가 나오도록 사용했습니다. (창피하네요 ㅇㅅㅇ!) 조건침투 쿼리에서 뷰를 사용할 때 뷰 안에 정의된 조건절이 아닌 외부쿼리에서 뷰 내부로 조건을 침투시킬 수 있습니다. 말이 어렵지만 예제를 보면 쉽게 이해가 되실겁니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1..

DB/오라클

대용량 문자열 CLOB저장방법

이번글에서는 CLOB데이터타입을 저장하는 방법에 대해 작성해 보았습니다. 두 가지 CASE로 나눠서 정리하려고 합니다. 1. 4000Byte 이하의 CLOB 데이터 저장 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 DECLARE l_clob CLOB; BEGIN -- CLOB 열 초기화 l_clob_data := EMPTY_CLOB(); -- 데이터 삽입, CLOB COLUMN은 처음에 빈값으로 INSERT 한다. INSERT INTO TABLE_NAME (normal_column, clob_column) VALUES (l_normal_column_value, l_clob_data) RETURNING clob_column INTO l_clob_data; --..

DB/오라클

오라클 대형 데이터 TYPE

LOB (Large Object) 대용량 데이터를 저장하고 관리하기 위해 오라클에서 제공하는 기본 데이터타입이다. 오라클의 기본 데이터는 varchar, number, datetime 등 구조적인 데이터타입인데 Oracle 8i부터 비구조적인 데이터 타입인 사진, 음악, 동영상 등의 처리도 필요하게 되어 생겨난 형태가 LOB이다. 사실 LOB이전에도 LONG이라는 대용량 TYPE이 있었으나 한 테이블에 하나의 컬럼만 사용할 수 있고 검색구현도 어려웠으며 최대크기도 2GB로 제한적이였다. 이러한 이유로 현재는 LOB타입을 많이 사용한다. LOB 종류 Internal CLOB (Character Large Object) : 문자데이터를 저장하기 위한 LOB유형이다. CLOB은 가변 길이 문자열 데이터를 저장..

DB/오라클

업무에 사용하는 시스템테이블 정리

보호되어 있는 글입니다.

DB/오라클

오라클 커서

Cursor란 SQL문장을 처리한 결과를 가지고 있는 메모리 영역을 가리키는 포인터이다. 암시적커서와 명시적커서로 구분된다. 암시적커서 오라클에서 실행되는 모든 SQL문장은 암시적커서가 생성된다. (자동으로 생성) 암시적커서 속성 SQL%FOUND : 해당 SQL문에 의해 반환된 행의 수가 1개 이상이면 TRUE SQL%NOTFOUND : 해당 SQL문에 의해 반환된 행의 수가 없을 경우 TRUE SQL%ISOPEN : 커서가 OPEN 되어 있는지 여부인데, 암시적커서는 FALSE이다. 암시적 커서는 자동으로 OPEN ~ Close 된다. SQL%ROWCOUNT : SQL문에 의해 반환된 총 행수 or 영향을 받은 행의 개수(UPDATE, INSERT, DELETE) 명시적커서 사용자가 직접 정의해서 사..

DB/오라클

PL/SQL TYPE 변수명 TABLE OF RECORD

이번에 쓸 내용은 PL/SQL 에서 사용하는 TYPE 변수명 TABLE OF RECORD 형식에 대한 내용이다. 사용방법 ●%ROWTYPE 으로 정의 (미리 정의된 테이블의 레이아웃을 사용) ●RECORD 정의 (사용자가 레코드를 정의) ●TABLE OF DataType 정의 (VARRAY방식) 나는 위의 세가지 방법으로 많이 사용한다. %ROWTYPE 1 TYPE TEMP_TABLE_OF_REC IS TABLE OF EMP%ROWTYPE INDEX BY BINARY_INTEGER; cs EMP테이블의 컬럼타입을 전부 사용하겠다는 의미이다. INDEX BY BINARY_INTEGER 는 RECORD의 인덱스를 자동으로 부여한다는 의미로 볼 수 있다. 즉 위의 선언한 TEMP_TABLE_OF_REC 레코드..

Interrrupt
'DB' 카테고리의 글 목록 (2 Page)