Grzegorz Jaśkiewicz wrote:
> On Fri, Mar 13, 2009 at 12:03 PM, Jasid ZA <za.jasid@gmail.com> wrote:
>> Hi,
>>
>> Can we use sql transaction(BEGIN, COMMIT, REVOKE) inside a user defined
>> function in Postgresql 8.3?
>>
>> looking forward to hear from you
>
> Nope.
> If function does something naughty - do RAISE EXCEPTION, that will
> break transaction and query (hence rollback).
> Please notice, that in plpgsql function uses BEGIN and END, and those
> are precisely there to start and end transaction.
Sorry, they are not:
"It is important not to confuse the use of BEGIN/END for grouping
statements in PL/pgSQL with the similarly-named SQL commands for
transaction control. PL/pgSQL's BEGIN/END are only for grouping; they do
not start or end a transaction."
Regards
Tino