Oracle - AYUDA CON TRIGGER EN ORACLE

   
Vista:

AYUDA CON TRIGGER EN ORACLE

Publicado por Alexander (1 intervención) el 17/12/2012 23:07:27
Hola me gustaria saber quien me ayuda hacer un trigger que haga lo siguiente:
tengo 2 tablas
CREATE TABLE Factura(
num_factura numeric(5,0) NOT NULL,
Fech_factura date,
Tip_pago varchar(5),
Nom_cliente varchar(50),
Tot_factura numeric(10,2),
PRIMARY KEY(num_factura));

CREATE TABLE Detalle_factura(
num_factura numeric(5,0) NOT NULL,
lin_factura numeric(5,0) NOT NULL,
nom_producto varchar(50),
can_productos numeric(5,0),
pre_articulo numeric(10,0),
mon_linea numeric(10,2),
PRIMARY KEY(lin_factura));

pero lo que me gustaria es que mi trigger haga los siguiente:

o Cuando se inserta un registro en la tabla de Detalle_factura, incremente el campo Tot_factura en lo que indica el campo mon_línea.
o Cuando se actualiza un registro en la tabla de Detalle_factura, se modifica el campo Tot_factura con la diferencia entre el mon_línea anterior y el actual.
o Cuando se elimina algún registro de la tabla de Detalle_factura, se decrementa el campo Tot_factura en lo que indicaba el campo mon_línea.

ESPERO SU AYUDA YA QUE NO SOY BUENO CON ESTO DE LAS ORACLE.


GRS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

AYUDA CON TRIGGER EN ORACLE

Publicado por juan gaete juan.gaete@oracle.com (13 intervenciones) el 21/12/2012 13:00:00
para el primer caso:

CREATE OR REPLACE TRIGGER incr_tot_factura_al_insertar
AFTER INSERT ON Detalle_factura
FOR EACH ROW
BEGIN
update Factura set Tot_factura = Tot_factura + :new.mon_linea
where num_factura = :new.num_factura;
commit;
END;


usted haga el resto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar