TRIGGER EN POSTGRES

From: MARIA ANTONIETA RAMIREZ SOLIS <maramirez(at)ulsaneza(dot)edu(dot)mx>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: TRIGGER EN POSTGRES
Date: 2015-04-09 21:21:35
Message-ID: CALGh7EswhH=wT-85n0qY5ujXg76RNbrDM0YHknYtaKgE=8x3Vg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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;

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2015-04-10 15:00:43 Re: restaurar solo una tabla
Previous Message Gilberto Castillo 2015-04-09 20:53:48 Re: restaurar solo una tabla