Ошибка при использовании IF

GuinPin
Дата: 19.10.2004 13:41:32
Имеется:
PostgreSQL 7.4.2 on i386-redhat-linux-gnu, compiled by GCC i386-redhat-linux-gcc (GCC) 3.3.3 20040216 (Red Hat Linux 3.3.3-2.1)
При попытке использовать IF получаю ошибку. Перепробовал массу вариантов, но причину не нарыл :(
Пример запроса:
Rebo=# IF 1=1 THEN SELECT * FROM kontragents; END IF;
ERROR: syntax error at or near "IF" at character 1
ERROR: syntax error at or near "IF" at character 6

Куда рыть?
Sad Spirit
Дата: 19.10.2004 14:01:29
Эээ... А где ты такой синтаксис углядел?
GuinPin
Дата: 19.10.2004 14:04:50
PostgreSQL 7.4.5 Documentation
7.7.2.1. IF-THEN

IF boolean-expression THEN
statements
END IF;

Нет? Не то? А как тогда?

Вообще, дока у PostgreSQL одна из самых неудобных :-\
Заглянул
Дата: 19.10.2004 14:20:30
Забавно, но онлайн PostgreSQL 7.4.5 Documentation заканчивается подразделом 7.6. То есть, Chapter 7. Queries has 6 subsections from 7.1 to 7.6.
Интересно было бы увидеть содержание невидимого подраздела полностью, о каких таких IF идет речь.
GuinPin
Дата: 19.10.2004 14:34:50
http://www.postgresql.org/docs/7.4/static/plpgsql-control-structures.html

Через поиск.

А вообще, забавно - не проще ли объяснить, как разруливаются условия, вместо того, чтобы объяснять, какой я придурок?
Sad Spirit
Дата: 19.10.2004 15:39:00
Условия разруливаются внутри функций на PL/PgSQL
CREATE FUNCTION foo()
AS '
DECLARE
BEGIN
 -- вот здесь разруливаются условия
END;
' LANGUAGE plpgsql;
GuinPin
Дата: 19.10.2004 16:24:32
Гу. Спасибо. Оказывается, его еще установить надо было - PL\pgSQL

ЗЫЖ Легче переползти на новый язык программирования, чем на новый сервер БД...
4321
Дата: 19.10.2004 18:36:01
_Внутри_ селекта (в SQL) условия - CASE WHEN