Question

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

  • 29 August 2019
  • 2 replies
  • 19 views

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

Userlevel 2
Badge +12

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.

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?

Reply