x asasaxax wrote:
HI everyone,
I´m trying to capture all the possible errors that a statement can have.
And, if there´s any error i will do a rollback; What i´m trying to do its:
BEGIN
insert into temp values(1, 2, 3);
IF ANY_ERROR_OCCURED THEN
ROLLBACK;
RETURN FALSE;
END IF;
END;
Did anyone knows how can i do that?
Use a PL/pgSQL stored procedure. PostgreSQL does not support ad-hoc
blocks or unnamed procedures, but it's OK to create the procedure, use
it, and drop it again.
http://www.postgresql.org/docs/current/static/plpgsql.html
and particularly:
http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
However, the EXCEPTION blocks you use to trap errors aren't free in
performance terms, so you should probably look for other approaches first.
--
Craig Ringer