database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40731 게시물 읽기
No. 40731
이름이 다르고, 테이블 구조가 동일한 테이블 데이터 합치기
작성자
choiksn
작성일
2015-03-06 11:30
조회수
7,067

안녕하세요?

 

1) 가정

동일한 테이블 구조를 같는 테이블이 여러개 있습니다.(많게는 몇 백개며, 개수도 알수 없습니다.)

테이블 이름은 규칙을 가지고 있습니다.

tb_master에 table_no 컬럼이 있는데, 이 table_no로 테이블(tb_data_[table_no] 와 같이)이 생성되고, 자료가 보관됩니다.

 

table_no는 01부터 생길수도 있지만, 프로젝트에 따라서 자리수 이름규칙이 달라질수 있어, tb_master 에 정의된 table_no를 알아야 합니다.

union으로 정적으로 view를 생성할 수 도 있지만, 중간중간 table_no가 증가하기 때문에 너무 수동적이 됩니다.

 

2) 질문사항

tb_data_01~tb_data_1000 까지 테이블의 데이터를 모두 하나의 테이블 혹은 뷰(tb_data_all or vw_data_all)로 가져오는 가장 좋은 방법은 무엇일까요?

취합테이블을 만들고, 커서등을 써서 원하는 시점에 자료를 추가하는 패키지를 작성하고싶은데 어떻게 하면 될까요?

동적으로 view에서 취합되게 하는 방법(테이블을 만들지 않아도 되서)은 없을까요?

 

알고계신분들의 도움을 기다립니다.

 

항상 도움주심에 감사드립니다.

 

 

이 글에 대한 댓글이 총 1건 있습니다.

취합은 DB단에서는 Mview, trigger, 또는 프로시져(패키지 - dynamic sql, pipelined, ref cursor...) 등 여러가지가 있을거구요

동적뷰로 하실려면 xmltable함수를 응용하시면 어느정도는 다이내믹컬하게 처리 하실 수 있을겁니다(동적뷰 문제는 퍼포먼스겠죠 )

개인적으론 취합테이블 만드는게 좋아 보입니다.

그외 alter table 옵션중 EXCHANGE PARTITION를 이용하여 마스터테이블 만든 후 기존테이블을

마스터 테이블에 partitioning 하는 것이 최선일 듯 한데 이미 개발되어 있는걸 엎어버려야하는 문제점이 있겠죠

최성준(junkk)님이 2015-03-09 12:17에 작성한 댓글입니다.
이 댓글은 2015-03-21 01:03에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
40735while문 이용해서 로그인 쿼리 [1]
권기범
2015-03-12
6621
40734VB에서 오라클 WITH 문 사용시 오류 [2]
이창선
2015-03-12
7586
40733두 테이블 비교 후 기준데이터 추출
리민우
2015-03-10
7093
40731이름이 다르고, 테이블 구조가 동일한 테이블 데이터 합치기 [1]
choiksn
2015-03-06
7067
40730통계 화면 개발 쿼리 문의좀 드립니다. [1]
김미나
2015-03-05
7601
40729체크쿼리 어떻게 만들어야 할까요? [1]
궁금맨
2015-03-05
6929
40728oracle 분석함수 질문입니다. [12]
트랄랄라
2015-03-04
9436
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다