Hi Sekhar,

Derby does not support the Firebird-specific syntax. The SQL Standard solution is the MERGE statement. Derby does not support the MERGE statement yet, but there is an open enhancement request for this feature: https://issues.apache.org/jira/browse/DERBY-3155. You are welcome to raise the priority of DERBY-3155 by voting for it.

One workaround would be to write a database procedure which probes the table to see if the row exists, and then issues an INSERT or an UPDATE depending on the result of that probe.

Hope this helps,
-Rick

On 1/3/13 4:48 AM, kosurusekhar wrote:
Hi

I need to execute following kind of query.

*UPDATE OR INSERT tableName (column1, column2, column3) values (col1value,
col2value, col3value) matching (column1);*

The above query will execute in Firebird database, now we are migrating from
firebird to Derby database.

here *column1* is not primary key column. if the *col1value* is already
available in table  *column1* then we have to update remaining column
values, if the value is not present in column1 then we have to create a new
record.

Please help me to solve above scenario with one or optimized query.

Thanks In Advance.

Regards
Sekhar.




--
View this message in context: 
http://apache-database.10148.n7.nabble.com/UPDATE-OR-INSERT-Query-in-Derby-tp126210.html
Sent from the Apache Derby Users mailing list archive at Nabble.com.


Reply via email to