| From: | Dmitriy Igrishin <dmitigr(at)gmail(dot)com> | 
|---|---|
| To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> | 
| Cc: | pgsql-ru-general(at)postgresql(dot)org | 
| Subject: | Re: [pgsql-ru-general] хранимая процедура: как вернуть NOT FOUND? | 
| Date: | 2011-03-07 20:46:33 | 
| Message-ID: | AANLkTi=n8JtHJUP2S-FDGPPP_mQu3J6Khhg4w9H-pAbh@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-ru-general | 
7 марта 2011 г. 23:35 пользователь Dmitry E. Oboukhov <unera(at)debian(dot)org>написал:
>
> DI> Вот и возращайте либо NULL, либо строку.
>
> NULL = одно возвращенное значение, а мне надо ноль возвращенных
> значений, например:
>
> wwm=> SELECT NULL;
>  ?column?
> ----------
>
> (1 row)
>
> wwm=> SELECT NULL WHERE 0 = 1;
>  ?column?
> ----------
> (0 rows)
>
>
> если функция возвращает NULL мы имеем тот же самый 1 row как если она
> заполненный row бы вернула. А как "не вернуть ничего" (по аналогии со
> вторым SELECT'ом)?
>
Такого быть не может. Функция обязана вернуть значение, даже типа void.
Если написать SELECT f() WHERE false, то функция f() просто не выполниться,
а значит и не возвратит значения.
>
> --
>
> . ''`.                               Dmitry E. Oboukhov
> : :’  :   email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
> `. `~’              GPGKey: 1024D / F8E26537 2006-11-21
>  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537
>
-- 
// Dmitriy.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dmitriy Igrishin | 2011-03-07 20:47:59 | Re: [pgsql-ru-general] Хранимая процедура: возврат строки разного формата | 
| Previous Message | Dmitry E. Oboukhov | 2011-03-07 20:43:42 | Re: Хранимая процедура: возврат строки разного формата |