Temat: Transakcje w funkcji
Witam
Mam taka funkcyjke:
create or replace function xw() RETURNS integer
AS
$BODY$
declare
number_of_rows integer := 0;
begin
START TRANSACTION;
jedna lub wiele instrukcji update, delete lub insert
COMMIT;
GET DIAGNOSTICS number_of_rows = ROW_COUNT;
return number_of_rows;
end;
$BODY$
language plpgsql;
Czy jest tutaj sens stosowania transakcji, w internecie znalazłem takie informacje, które za tym nie przemawiają:
Is it possible to use begin, commit and rollback commands within a transaction block in SQL function in postgre?
I guess you can use nested blocks in side a function(BEGIN,END) but not
commit because a SQL function runs as a single transaction.
He could use SAVEPOINT
if you want to break plpgsql function, use exceptions. That will cause
transaction (which in it self is the whole procedure) to be rolled
back.
Z góry dzieki za odpowiedź
AdamP.