Buenas gente...
Por primera vez estoy usando transacciones con la idea de que "se ejecute todo, o no se ejecute nada"... Y lo estoy queriendo implementar en un trigger que hace multiples inserts a diferentes tablas...
El tema es que no lo puedo hacer, a lo mejor es por un malentendido de conceptos o porque algo estoy haciendo mal.
Mi codigo es algo asi:
Código:
CREATE OR REPLACE FUNCTION asinarPersona()
RETURNS "trigger" AS
$BODY$
BEGIN
IF (TG_OP = 'INSERT') THEN
BEGIN; --Empiezo la transaccion
/*
MULTIPLES INSERTS
*/
COMMIT;
END IF;
return new ;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
El tema es que cuando quiero ejecutar el script, me sale que tngo un error de sintaxis en "BEGIN;", cuando comento esa linea, ejecuta sin problemas, pero al momento de invocar al trigger se produce un error por el "COMMIT;"
Alguna idea o sugerencia?
Muchas gracias...