Skip to main content
Question

How to use ChangeDetector to compare two tables and then update only what has changed?


The goal here is to have FME query our up-to-date database for investigator names, use ChangeDetector to see what’s changed between a feature class in ArcGIS Desktop and our database, and update only what has changed in the local ArcGIS geodatabase layer.

 

So far the workbench successfully updates the investigator name (changes the value from “IS THIS REPLACED?” to “Sandy Jones”. The only problem is that it also fills in null data for the other fields that occupy the same row.

 

Is there a way to have it leave those areas alone?

Here is my workbench

 

2 replies

erik_jan
Contributor
Forum|alt.badge.img+18
  • Contributor
  • August 29, 2019

The ChangeDetector only indicates what records are changed, not what fields.

Instead of using a writer, you could use the SQLExecutor to update only the "NAME" field in the table, using a query like:

Update <table> set NAME = '@Value(NAME)' where ID = @Value(ID).

Hope this helps.


erik_jan wrote:

The ChangeDetector only indicates what records are changed, not what fields.

Instead of using a writer, you could use the SQLExecutor to update only the "NAME" field in the table, using a query like:

Update <table> set NAME = '@Value(NAME)' where ID = @Value(ID).

Hope this helps.

Would this work for updating a feature class in a local geodatabase in ArcGIS Desktop?


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings