Re: How to raise error from PostgreSql SQL statement if some condition is met

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: How to raise error from PostgreSql SQL statement if some condition is met
Дата
Msg-id CAFj8pRC3aOx7+PTXAdZtx=j897sAF1UHUVk_zWTcFOZdysVYoA@mail.gmail.com
обсуждение исходный текст
Ответ на How to raise error from PostgreSql SQL statement if some condition is met  ("Andrus" <kobruleht2@hot.ee>)
Ответы Re: How to raise error from PostgreSql SQL statement if some condition is met  ("Andrus" <kobruleht2@hot.ee>)
Список pgsql-general
Hello

You can execute only SQL statements - RAISE is plpgsql statement, not
SQL statement, so you cannot execute it.

why you don't use just

CREATE OR REPLACE FUNCTION raise_exception(text)
RETURNS void AS $$
BEGIN
  RAISE EXCEPTION '%', $1;
END;
$$ LANGUAGE plpgsql;

SELECT raise_exception('bubu');

Regards

Pavel Stehule

2012/8/11 Andrus <kobruleht2@hot.ee>:
> I’m looking for a way to raise error from sql select if some condition is
> met.
> Tried code below to got error shown in comment.
> How to fix ?
>
> Andrus
>
>     CREATE OR REPLACE FUNCTION "exec"(text)
>       RETURNS text AS
>     $BODY$
>         BEGIN
>           EXECUTE $1;
>           RETURN $1;
>         END;
>     $BODY$
>       LANGUAGE plpgsql VOLATILE;
>
>     -- ERROR:  syntax error at or near "raise"
>     -- LINE 1: raise 'test'
>
>     select exec('raise ''test'' ') where true -- in real application true is
> replaced by some condition


В списке pgsql-general по дате отправления:

Предыдущее
От: "Andrus"
Дата:
Сообщение: How to raise error from PostgreSql SQL statement if some condition is met
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: How to raise error from PostgreSql SQL statement if some condition is met