PostgreSQL에 'TICKETS'테이블이 있습니다.이 테이블을 채우기 위해 Pentaho를 사용하여 ETL 작업을 수행합니다. 사용자가 변경하고 결과가이 테이블에 반영되는 GUI도 있습니다. 테이블에 필드는 다음과 같습니다Update/Merge/Dimension 조회/업데이트 Pentaho를 사용하여 업데이트
"OID" Char(36) <------ **PRIMARY KEY**
, "CUSTOMER" VARCHAR(255)
, "TICKETID" VARCHAR(255)
, "PRIO_ORIG" CHAR(36)
, "PRIO_COR" CHAR(36)
, "CATEGORY" VARCHAR(255)
, "OPENDATE_ORIG" TIMESTAMP
, "OPENDATE_COR" TIMESTAMP
, "TTA_ORIG" TIMESTAMP
, "TTA_COR" TIMESTAMP
, "TTA_DUR" DOUBLE PRECISION
, "MTTA_TARGET" DOUBLE PRECISION
, "TTA_REL_ORIG" BOOLEAN
, "TTA_REL_COR" BOOLEAN
, "TTA_DISCOUNT_COR" DOUBLE PRECISION
, "TTA_CHARGE_COR" DOUBLE PRECISION
, "TTR_ORIG" TIMESTAMP
, "TTR_COR" TIMESTAMP
, "TTR_DUR" DOUBLE PRECISION
, "MTTR_TARGET" DOUBLE PRECISION
, "TTR_REL_ORIG" BOOLEAN
, "TTR_REL_COR" BOOLEAN
, "TTR_DISCOUNT_COR" DOUBLE PRECISION
, "TTR_CHARGE_COR" DOUBLE PRECISION
, "COMMENT" VARCHAR(500)
, "USER" CHAR(36)
, "MODIFY_DATE" TIMESTAMP
, "CORRECTED" BOOLEAN
, "OPTIMISTICLOCKFIELD" INTEGER
, "GCRECORD" INTEGER
, "ORIGINATOR" Char(36)
내가 열 TICKETID + ORIGINATOR + 고객에이 같은 경우 테이블을 업데이트 할. 그렇지 않으면 삽입이 수행됩니다.
펜타 호를 사용하여 어떻게해야합니까? Dimension/Lookup 업데이트가 단계가 잘 수행 되었습니까? 아니면 업데이트/삽입 단계만으로 작업이 수행됩니까?
도움을 주시면 감사하겠습니다. 미리 감사드립니다.
TICKETID + ORIGINATOR + CUSTOMERS 열에 고유 색인이 있습니까? 그런 다음'INSERT ... ON CONFLICT DO UPDATE SET column = EXCLUDED.column;'https://www.postgresql.org/docs/9.5/static/sql-insert.html을 사용할 수 있습니다. –