Re: to pg

Поиск
Список
Период
Сортировка
Искать
От
Albe Laurenz
Тема
Re: to pg
Дата
Msg-id
A737B7A37273E048B164557ADEF4A58B50FAF8F0@ntex2010i.host.magwien.gv.at
Ответ на
to pg (Ramesh T)
Список
Дерево обсуждения
to pg Ramesh T <rameshparnanditech@gmail.com>
Re: to pg Ladislav Lenart <lenartlad@volny.cz>
Re: to pg Albe Laurenz <laurenz.albe@wien.gv.at>
Re: to pg Igor Neyman <ineyman@perceptron.com>
Re: to pg Geoff Winkless <pgsqladmin@geoff.dj>
Re: to pg Alban Hertroys <haramrae@gmail.com>
Re: to pg Tom Lane <tgl@sss.pgh.pa.us>
Ramesh T wrote:
> CREATE UNIQUE INDEX idx_load_pick ON  pick (case picked when picked='y' then load_id else null end );
> 
> how can i convert case expressed to postgres..above it is oracle.

CREATE TABLE pick (picked char(1), load_id integer);

CREATE FUNCTION picked_loadid(character, integer) RETURNS integer
   IMMUTABLE STRICT LANGUAGE sql AS
   $$SELECT CASE WHEN $1 = 'y' THEN $2 ELSE NULL END$$;

CREATE INDEX idx_load_pick ON pick (picked_loadid(picked, load_id));

*but*

It will only work with queries like:

SELECT * FROM pick WHERE picked_loadid(picked, load_id) IS NOT NULL;

Yours,
Laurenz Albe
В списке pgsql-general по дате отправления
От: Ladislav Lenart
Дата:
Сообщение: Re: to pg
От: Francisco Reyes
Дата:
FAQ