저는 Postgres의 초보자입니다. 우리는 Postgres를 사용하여 SCD 유형 2를 구현했습니다. 입력 파일은 매일 약 3 천만 레코드의 전체 새로 고침 파일입니다. 계좌 번호는 키 열입니다. 새 레코드의 대략적인 수는 20K/일입니다. 레코드가 소스에서 누락 된 경우 해당 레코드는 대상의 종료 날짜와 함께 닫힙니다. 닫히는 레코드의 대략적인 수 -
을 병합합니다. 내 MERGE 문이 같은 오류를 던지고있다 : INSERT 문 'DM.DATA_ERROR.ERROR_DIMENSION'는 어느 측면에있을 수없는 목표 테이블 (기본 키, 외래 키) FROM 절 에 중첩 된 INSERT, UPDATE, DELETE 또는 MERGE 문이 포함 된 관계. 찾음 참조 제약 'FK_ERROR_DIMENSION_to_
동일한 데이터를 저장하는 여러 레이어가있는 데이터웨어 하우스를 구축하고 있습니다. 중간 계층 중 하나의 모든 데이터는 시작 및 종료 날짜가 버전 2로 느리게 변경되는 것처럼 버전이 지정됩니다. 이 테이블을 쿼리 할 때 문제가 발생합니다. 일반적으로 쿼리의 테이블보다 더 많은 열이 있으므로 쿼리의 인접한 버전은 시작일과 종료일이 다르지만 동일하지 않습니다.
오라클 12에서 기본 키를 위반합니다. 대부분 고유 한 제약 조건이있는 테이블에서도 작동합니다. 하지만 때로는 (보통 역사가 바뀌면) ORA-00001 오류가 발생합니다. 이는 고유 한 제약 조건 위반입니다. 물론 두 가지 방법이 있지만 작동은 느리다는 것을 알고 있습니다. 내 생각에 오라클은 때때로 TH_Valid_To_Date를 복제하는 INSERT U
현재 scd 유형 2 데이터를 차원에로드하는 쿼리의 마지막 부분을 완료하려고합니다. 아래에 제공된 데이터를 기반으로, 만료 된 오래된 레코드 및 추적 기록 등의 차원에 삽입 할 수있는 출력을 생성하고 싶습니다. 데이터는 특성이 변경된 최신 레코드를 보유하고 있습니다. 변경된 값은 조회 열과 함께 및 날짜 변경, 즉 변경이 발생한 날짜에서 찾을 수 있습니다.