Hi

Upsert is just a keyword in the UPDATE statement, eg.

update V set id = '12', name = 'foo' upsert where id = '12'

you can find all the docs here
http://www.orientechnologies.com/docs/last/SQL-Update.html

Luigi


2015-03-22 0:17 GMT+01:00 pumplerod <pumple...@gmail.com>:

> Is there example usage of this?  When I try and use upsert all I get is an
> error.
>
> I have a class Locale which I only want to add if the specified locale
> does not already exist...
>
> upsert into Locale set type='state' name='TX' where type='state' name='TX'
>
>
> The error states that there is no command executor for command request:
> sql.upsert
>
>
> On Wednesday, February 4, 2015 at 9:08:04 AM UTC-6, Luigi Dell'Aquila
> wrote:
>>
>> Hi Artem,
>>
>> have you tried with UPSERT?
>> Here you can find all the references:
>>
>> http://www.orientechnologies.com/docs/last/orientdb.wiki/SQL-Update.html
>>
>> Regards
>>
>> Luigi
>>
>>
>> 2015-02-04 13:25 GMT+01:00 Artem Shoobovych <shybo...@gmail.com>:
>>
>>> Hi there!
>>>
>>> Lately, I've been playing with OrientDB of 1.7.10 and now 2.0.1. And
>>> currently I am stuck with poor SQL syntax or my misunderstanding of it.
>>>
>>> What I want is to create an instance of a class if it does not exist. I
>>> tried different solutions, like `ifnull`, `first` and `if`. But it seems to
>>> work only on existing values.
>>>
>>> For example, let us have a class `City` with only one instance -
>>> `{"name": "Lisboa"}`.
>>>
>>> These do not work:
>>>
>>>     select if(count(select City where name = "Krakow") < 1, null, (insert
>>> into City set name = "Krakow" return @rid))
>>>
>>>
>>>     select ifnull((select @rid from City where name = "Krakow"), (insert
>>> into City set name = "Krakow" return @rid))
>>>
>>>
>>>     select first((select @rid from City where name = "Krakow"), (insert
>>> into City set name = "Krakow"))
>>>
>>>
>>> I believe I need some kind of `exists` operator:
>>>
>>>     select if( exists(select from City where name = "Krakow"), (select
>>> @rid from City where name = "Krakow"), (insert into City set name =
>>> "Krakow"))
>>>
>>>
>>> Are there any possibility for this except stored functions?
>>>
>>> Thanks!
>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OrientDB" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to orient-databa...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to orient-database+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to