| От | Johan Nel |
|---|---|
| Тема | Re: ERROR: syntax error at or near "IF"... why? |
| Дата | |
| Msg-id | gtbd3e$k9$1@news.eternal-september.org обсуждение исходный текст |
| Ответ на | ERROR: syntax error at or near "IF"... why? (DaNieL <daniele.pignedoli@gmail.com>) |
| Список | pgsql-general |
Daniel,
> IF (SELECT credit FROM users WHERE name = 'mary') < 0 THEN
> ROLLBACK;
> END IF
> COMMIT;
>
> i always get the error
> ERROR: syntax error at or near "IF"
>
> Where am i mistaken?
SELECT returns in essence a record or setof records.
DECLARE _credit int;
...
SELECT credit FROM users WHERE name = 'mary' INTO _credit;
IF _credit < 0 THEN
ROLLBACK;
END IF;
If there is a chance that the select returns more than one record you
can do something similar to:
DECLARE rec record;
...
FOR rec IN (SELECT credit FROM users WHERE name = 'mary'
LOOP
IF rec.credit < 0 THEN
...
ELSE
...
END IF;
END LOOP;
HTH,
Johan Nel
Pretoria, South Africa.
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера