Luigi,

Good answer for determining if a document exists, but how determine is a 
class exists (using SQL)?

Thanks,

Patrick


On Monday, March 23, 2015 at 1:31:49 AM UTC-6, Luigi Dell'Aquila wrote:
>
> 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 <pump...@gmail.com <javascript:>>:
>
>> 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-databa...@googlegroups.com <javascript:>.
>> 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