1
私はSSISパッケージでMerge Statementを使用しています。問題は、パッケージを実行するときにdatetime列を更新しないということです。 datetimeは正しく挿入されますが、新しいdatetimeがソースデータベースで使用可能な場合はNULLからsome datetimeに更新されません。 ソースと宛先の両方に同じ列タイプ(datetime(2)、null)があります。 ステージングテーブルを切り捨てた後、SQLタスクで以下のコードを使用しています。SSIS Merge Statment日時が更新されない
MERGE abc.dbo.invoices AS targe
USING (SELECT
ID
,cash_received_date
,schedule_datetime
,delivery_date
FROM Staging.dbo.tmpabcinvoices) AS sourc
ON targe.id = sourc.id
WHEN MATCHED and
targe.schedule_datetime <> sourc.schedule_datetime
or
targe.delivery_date <> sourc.delivery_date
or
targe.cash_received_date <> sourc.cash_received_date
THEN UPDATE SET
,targe.schedule_datetime=sourc.schedule_datetime
,targe.delivery_date=sourc.delivery_date
,targe.cash_received_date=sourc.cash_received_date
WHEN NOT MATCHED THEN
INSERT(
old_invoiceid
,cash_received_date
,schedule_datetime
,delivery_date
)
VALUES
(
sourc.old_invoiceid
,sourc.cash_received_date
,sourc.schedule_datetime
,sourc.delivery_date
);
GO
ありがとうございました。 – Mehak