db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@oracle.com>
Subject Re: UPDATE OR INSERT Query in Derby
Date Thu, 03 Jan 2013 16:42:39 GMT
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,

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.

View raw message