Returning 0 rows from a PL/PGSQL
От | Vitaly Belman |
---|---|
Тема | Returning 0 rows from a PL/PGSQL |
Дата | |
Msg-id | fa96e3c605021915595ad1090c@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Returning 0 rows from a PL/PGSQL
|
Список | pgsql-general |
I have the following plpgsql function: CREATE OR REPLACE FUNCTION public."temp"(int4) RETURNS public.books AS $BODY$DECLARE old_book books%rowtype; BEGIN select * into old_book from books where book_id = var_book_id; IF FOUND = false THEN return null; ELSE return old_book; END IF; END;$BODY$ LANGUAGE 'plpgsql' VOLATILE; If the function finds a book with the given ID, it returns its row, if it doesn't, it should return no rows at all (naturally it is simplified version of what I need). In practice, however, it returns either a regular row, or a regular row with all fields set to NULL. So if in my PHP code I have: $rs = pg_query("select * from temp(-60)"); pg_num_rows($rs); It keeps printing 1 even if the ID I pass doesn't exist. What's my remedy? Thanks -- ICQ: 1912453 AIM: VitalyB1984 MSN: tmdagent@hotmail.com Yahoo!: VitalyBe
В списке pgsql-general по дате отправления: