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,
-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.
>


Mime
View raw message