Re: TRIGGER EN POSTGRES

From: eduardo reyes <allcomsystem(at)gmail(dot)com>
To: MARIA ANTONIETA RAMIREZ SOLIS <maramirez(at)ulsaneza(dot)edu(dot)mx>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: TRIGGER EN POSTGRES
Date: 2015-04-10 21:03:12
Message-ID: CAEgdABWOzyFAuMrLX9HTLpS6JQk0gHeL-Z4h+yv=5ojJX6LKFw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas

Lo primero es que la llamada a la funcion en el Trigger no necesita
parametros, en este caso, luego es que debes poner explicitamente la
sentencia INSERT INTO TABLA (campo1,campo2) VALUES (NEW.campo1, New.campo2)

Debes tener presente que las variables de NEW.XXXX son los valores de la
tabla que dispara la funcion...

Saludos..

2015-04-09 17:21 GMT-04:00 MARIA ANTONIETA RAMIREZ SOLIS <
maramirez(at)ulsaneza(dot)edu(dot)mx>:

> Buena tarde
> Por medio del presente les pido apoyo, ya que tengo un problema, tengo dos
> tablas:
> esquema_pago y esquema_pago_backup , en mysql tengo un trigger que cuando
> se insertan datos en la tabla esquema_pago, se insertan tambien en esquema
> pago backup, migre la base y estoy tratando de poner lo mismo en postgres ,
> ya cree una funcion y el trigger pero no me copia los datos a la tabla de
> esquema_pago_backup, espero que me puedan hechar la mano, soy nueva en
> postgres.
>
> Por su atencion Gracias:
>
> *----tabla esquema_pago---*
> CREATE TABLE educaciondistancia.*esquema_pago*
> (
> id serial NOT NULL,
> curso integer NOT NULL,
> numpago integer NOT NULL,
> montopagar numeric(8,2) NOT NULL,
> estatus integer, -- 1 - vigente, 2 - no vigente
> usuario character varying(15) NOT NULL,
> fecha timestamp without time zone,
> CONSTRAINT esquema_pago_primary PRIMARY KEY (id),
> CONSTRAINT fk_esquema_curso FOREIGN KEY (curso)
> REFERENCES educaciondistancia.cursos (id) MATCH SIMPLE
> ON UPDATE CASCADE ON DELETE CASCADE,
> CONSTRAINT fk_esquema_usuario FOREIGN KEY (usuario)
> REFERENCES educaciondistancia.usuariosadmin (usuario) MATCH SIMPLE
> ON UPDATE CASCADE ON DELETE CASCADE
> )
> WITH (
> OIDS=FALSE
> );
> ALTER TABLE educaciondistancia.esquema_pago
> OWNER TO postgres;
> COMMENT ON COLUMN educaciondistancia.esquema_pago.estatus IS '1 - vigente,
> 2 - no vigente';
>
> *--tabla esquema_pago_backup--*
>
> CREATE TABLE educaciondistancia.esquema_pago_backup
> (
> id serial NOT NULL,
> curso integer NOT NULL,
> numpago integer NOT NULL,
> montopagar numeric(8,2) NOT NULL,
> estatus integer,
> usuario character varying(15) NOT NULL,
> fecha timestamp without time zone,
> CONSTRAINT pk_esquema_pago_backup PRIMARY KEY (id),
> CONSTRAINT fk_backup_curso FOREIGN KEY (curso)
> REFERENCES educaciondistancia.cursos (id) MATCH SIMPLE
> ON UPDATE CASCADE ON DELETE CASCADE,
> CONSTRAINT fk_backup_usuario FOREIGN KEY (usuario)
> REFERENCES educaciondistancia.usuariosadmin (usuario) MATCH SIMPLE
> ON UPDATE CASCADE ON DELETE CASCADE
> )
> WITH (
> OIDS=FALSE
> );
> ALTER TABLE educaciondistancia.esquema_pago_backup
> OWNER TO postgres;
>
>
> *--trigger--*
>
> CREATE TRIGGER trg_inserta_esquema_pago_backup
> AFTER INSERT
> ON educaciondistancia.esquema_pago
> FOR EACH ROW
> EXECUTE PROCEDURE
> educaciondistancia.inserta_esquema_pago_backup('curso', 'numpago',
> 'montopagar', 'estatus', 'usuario', 'fecha');
>
>
> *--funcion trigger--*
>
> CREATE OR REPLACE FUNCTION educaciondistancia.inserta_esquema_pago_backup()
> RETURNS trigger AS
> $BODY$
> BEGIN
> NEW.curso := NEW.curso;
> NEW.numPago := NEW.numPago;
> NEW.montoPagar := NEW.montoPagar;
> NEW.estatus := NEW.estatus;
> NEW.usuario := NEW.usuario;
> NEW.fecha := NEW.fecha;
>
> RETURN NEW;
> END
> $BODY$
> LANGUAGE plpgsql VOLATILE
> COST 100;
> ALTER FUNCTION educaciondistancia.inserta_esquema_pago_backup()
> OWNER TO postgres;
>
>
>
>
>

--
*Ing. Eduardo Reyes*
Analista Programador.
(809) 607-1961
ereyes(at)h-rivera(dot)com

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gerardo Herzig 2015-04-12 22:15:42 Re: TRIGGER EN POSTGRES
Previous Message Jared Lopez 2015-04-10 16:04:59 Re: restaurar solo una tabla