2013-11-25 1 views
1

Mview를 사용하여 다른 DB 테이블의 데이터를 DB로 가져옵니다. 2 가지 주요 작업을 수행해야합니다Materialize 뷰에서 마지막으로 새로 고친 데이터 만 처리하는 방법

1 1. 특정 시간 (예 : 오전 6시 및 오후 7시)에 MView를 새로 고침해야합니다.

2. 우리는이 데이터를 사용하고 삽입을 수행하는 다른 저장 프로 시저가 있습니다. 그러나 클라이언트는 데이터 만 MVIEW의 DATE 열을 기반으로 처리해야합니다. 즉, 마지막으로 삽입 한 레코드 만 삽입하거나 마지막 MVIEW 새로 고침 후 새로 고친 데이터가 필요합니다.

지금부터는 2 시간마다 새로 고침을해야합니다. 내 쿼리는 최신 MVIEW 데이터/시간을 얻는 방법과 시간을 다시 계산 한 데이터를 얻기 위해 동일한 데이터를 저장하는 방법 우리에게 단서가없는 한이 데이터를 정렬하는 것을 도와주세요.

덕분에, 발진

+0

해결책을 직접 얻었습니다! . – rash

답변

0

는 oher 소스의 도움 후 솔루션을 자신을 가지고!

CREATE MATERIALIZED VIEW TEST_DATA_RASH_MVIEW 
BUILD IMMEDIATE 
REFRESH COMPLETE 
ON DEMAND 
START WITH SYSDATE 
NEXT SYSDATE + 1/12 
AS 
select * from PPM_TFS_RECEIVED_MVIEW 
where "CreatedDate" > (SELECT last_refresh FROM ALL_MVIEW_REFRESH_TIMES WHERE NAME='PPM_TFS_RECEIVED_MVIEW');