Re: [pgsql-ru-general] select + insert

Поиск
Список
Период
Сортировка
От Nikolay Samokhvalov
Тема Re: [pgsql-ru-general] select + insert
Дата
Msg-id CANNMO+Jbfj_sSvywWiYcuPQ5U2DJ2JuEQamUB3kaNdishKo68w@mail.gmail.com
обсуждение исходный текст
Список pgsql-ru-general
create table a(id int8 primary key); with ids(id) as ( values(1) ), ins as ( insert into a(id) select id from ids on conflict (id) do nothing returning * ) select * from a where id in (select id from ids) union all select * from ins ; 2017-12-01 4:44 GMT-08:00 Владимир : > Добрый день! > Хотелось узнать вот такой вопрос. > Создал функцию на plsql - create(xx) > Которая вот что делает: > Если xx есть в таблице tbl тогда возвращает 0 иначе создает строку xx в > таблице tbl и возвращает x > > Так вот, а есть ли возможность тоже самое сделать, но на sql языке > хотел что-то на подобии: > > SELECT 0 from tbl WHERE x=xx > UNION ALL > INSERT INTO tbl values (xx) WHERE xx NOT IN (SELECT x from tbl) RETURNING x > > Но не проходит. > Может подскажете, очень интересно знать, возможно ли подобное. > > >

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: Nikolay Samokhvalov
Дата:
Сообщение: [pgsql-ru-general] Re: [pgsql-ru-general] Запарил сверхинтеллект
Следующее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: [pgsql-ru-general] Re: SPAM (5.7) [pgsql-ru-general] Re: [pgsql-ru-general] Запарил сверхинтеллект