Thread: HI! Problems with cursors into triggers
HELLO! I'm making one trigger (plpgsql) and in the function i use CURSOR for to bring an elements and to take them to a variable but no me it does not work, WHY????????????? The script is: DROP TRIGGER miTrig on otro; DROP FUNCTION miFunc(); DROP TABLE otro; DROP TABLE cual; CREATE TABLE otro ( cuenta integer; ); CREATE TABLE cual ( cuenta1 integer; cuenta2 integer; ); CREATE FUNCTION miFunc () RETURNS OPAQUE AS ' DECLARE Cuenta_t INT4; BEGIN begin work; declare c_Cuenta CURSOR FOR SELECT * FROM otro; FETCH forward 1 in c_Cuenta INTO :Cuenta_t; CLOSE c_Cuenta; commit; INSERT INTO cual VALUES (Cuenta_t,NEW.cuenta); RETURN NEW; END; ' LANGUAGE 'plpgsql'; CREATE TRIGGER miTrig AFTER INSERT ON otro FOR EACH ROW EXECUTE PROCEDURE miFunc(); Help me please!!!!!!!!!!!!!!! Thanks Mauricio Marín Colombia
Attachment
On Wed, 28 Jun 2000, Andr�s Mauricio Mar�n Restrepo wrote: > > HELLO! > > I'm making one trigger (plpgsql) and in the function i use CURSOR for to > > bring an elements and to take them to a variable but no me it does not > work, WHY????????????? > > The script is: > > DROP TRIGGER miTrig on otro; > DROP FUNCTION miFunc(); > DROP TABLE otro; > DROP TABLE cual; > > CREATE TABLE otro ( > cuenta integer; > ); > > CREATE TABLE cual ( > cuenta1 integer; > cuenta2 integer; > ); > > CREATE FUNCTION miFunc () RETURNS OPAQUE AS ' > DECLARE > Cuenta_t INT4; > BEGIN > begin work; Can't have nested transactions. Can't use BEGIN/COMMIT within a trigger. -- Robert B. Easter