Skip to main content

Hello,

I have found out that UPDATE statement used in inlinequerier does not return any data even though translation runs successfully. I need to update one column of my table with data from another table and there are more conditions in the update statement, otherwise I would have just overwritten the column using feature merger.

When I try to do the update, and add another statement I get an error "Unable to execute multiple statements at a time" (guess this is SQLite limitation)

If I try to select this updated data in another output port (after this update port) it is not updated as it should be.

Any idea how to make this work?

Thanks,

Radek

How about using the SQLExecutor? It's pretty powerful.

You can even generate the SQL statement in your workspace before passing it on to the SQLExecutor.


How about using the SQLExecutor? It's pretty powerful.

You can even generate the SQL statement in your workspace before passing it on to the SQLExecutor.

I would have used it, but the data I am accessing is read only and even if it was, I would like to update the data only locally on my computer.


I think that the InlineQuerier was designed only for querying data with SELECT statement. Here is a similar discuss: Update a table using InlineQuerier

Consider using other transformers to modify the features.


No the InlineQuerier doesn't work on Update commands. I will mention that the FeatureMerger does allow multiple join 'statements', so you could do the equivalent of "where a.attribute1=b.attribute1 and a.attribute2=b.attribute2 and etc". Use the "+" button at the foot of the dialog to add more clauses.


Have you tried using the DatabaseUpdater?

In FME 2016 the FeatureWriter transformer hopefully has the possibility to write to a database using the UPDATE parameter or even the fme_db_operation attribute to do just this.


Have you tried using the DatabaseUpdater?

In FME 2016 the FeatureWriter transformer hopefully has the possibility to write to a database using the UPDATE parameter or even the fme_db_operation attribute to do just this.

I'm not sure how the DatabaseUpdater would work when the SQLExecutor apparently wouldn't in his scenario, though.


I'm not sure how the DatabaseUpdater would work when the SQLExecutor apparently wouldn't in his scenario, though.

If it is because of the data being Read only, no scenario would update the data. That is the purpose of Read only data.


If it is because of the data being Read only, no scenario would update the data. That is the purpose of Read only data.

I understand the concept of read only data, but I'm not sure I understand what you mean :-)


Reply