Hi Patrick,

this is the query that gives you the list of existing classes

select expand(classes) from metadata:schema

I hope it helps

Luigi





2015-03-24 21:09 GMT+01:00 Patrick Hoeffel <[email protected]>:

> 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 <[email protected]>:
>>
>>> 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 <[email protected]>:
>>>>
>>>>> 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 [email protected].
>>>>> 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 [email protected].
>>> 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 [email protected].
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to