Обсуждение: 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
Вложения
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