상세 컨텐츠

본문 제목

테이블 분할, 복사 (연도 별 등 기준), 날짜 자동 입력

DataBase/Oracle

by H_Develop 2022. 6. 7. 18:18

본문

테이블 분할은 매우 효율적으로 데이터 쿼리를 수행하게 해준다.

여러 년도로 이뤄진 테이블에서 특정 년도를 기준으로 어느 쿼리를 수행한다면,

쿼리문 뒤에 where 조건으로 년도를 지정해야 한다.

 - 이렇게 여러 연도가 들어 있는 테이블을 연도별로 데이터를 분할해두면, where 조건문을 사용할 필요 없다.

 - 데이터베이스 튜닝(tuning)면에서 보면, index, 조건 where 등으로 데이터를 재정렬하는 부담이 크기에 사전에 분할해두는 것이 좋다.

 

 

 

TABLE 복사 (WHEN THEN)

//몇개 연도가 들어가 있는지 확인하시오.
select to_char(order_date, 'yyyy') from employees

//order data에 1990년 기준으로 데이터만 복사해서 넣기.
insert into order_1990 select * from orders
where to_char(order_date, 'yyyy') = '1990'

// when then 문을 사용하여 table data 복사
insert all
 when to_char(order_date, 'yyyy') = 1990 then into 'order_1990'
 when to_char(order_date, 'yyyy') = 1991 then into 'order_1991'
 when to_char(order_date, 'yyyy') = 1992 then into 'order_1992'
select order_id, order_date, customer_id from orders;
// order table을 연도별로 나누어 when then 문을 활용하여, table 생성 * create 는 안됨 *

CREATE TABLE, hire date default sysdate

create table emp1(
emp_id number(6),
f_name varchar2(10),
l_name varchar2(10),
email varchar2(25),
phone varchar2(20),
hire date default sysdate,
job_id varchar2(10),
salary number(8,2),
commission number(4,2),
manager_id number(6),
depart_id number(4)
);
/*
hire date default sysdate,
hire date - 고용된 날짜를 DB에 입력한 날짜(sysdate)로 하겠다. default(기본값)으로.
*/

 

 

 

 

 

 

'DataBase > Oracle' 카테고리의 다른 글

AUTO INCREMENT (SEQUENCE)  (0) 2022.06.08
제약 조건 (CONSTRAINTS)  (0) 2022.06.07
정규 표현식 Regular Expression  (0) 2022.06.07
Oracle 분석 함수, 집합 함수  (0) 2022.06.07
Oracle 날짜 함수, 변환 함수  (0) 2022.06.07

관련글 더보기