Question

Delete existing records instead of Truncate in Oracle Spatial Writer before Loading new data

  • 8 January 2019
  • 3 replies
  • 11 views

I am creating a Dynamic Data Uploading Workspace which will read all .mdb files present inside a folder & upload Data in the corresponding tables in Orace Spatial DB. The problem is the DB user which I have, to perform this Upload operation does'nt have Truncate rights on tables since its not the Table Owner & for policy reasons it cannot be given these rights although it has Insert,Update,Delete rights. How do I Delete records from Tables before inserting new ones? Apart from creating 2 seperate workbenches, First for deleting the records using SQLExecuter & second for inserting using Dynamic writer & connecting the 2 using Batch Processing.


3 replies

Userlevel 2
Badge +19

In the Writer Properties there is a text box called "SQL Statement before reading" (or something like that).

There you can add you DELETE statement.

Badge +16

Hi @ashishtwr,

You can use the SQL to Run Before Write, or start your workspace with an SQLExecutor following in with a FeatureReader to read the mdb files.

Hope this helps,

Itay

Userlevel 2
Badge +16

Another option:

Read the MDB files.

Use a Sampler to filter out the first read feature and connect the SQLExecutor to execute the Delete statement(s).

Pass both the output ports of the Sampler to the Dynamic Writer.

In case the SQLExecutor is slow, a FeatureHolder might be needed at the "Not Sampled" port of the Sampler.

Reply