Oracle Insert Trigger
I want to insert rows in the table sancion with a trigger but it remains empty after the inserts.

The first referenced table:

`CREATE TABLE OBSERVACION(

         carretera_foto	VARCHAR2(5),
	pto_km_radar	NUMBER(3,0),
	sentido_radar	VARCHAR2(3),
	fecha_foto	VARCHAR2(10),
	hora_foto	TIMESTAMP(6),
	velocidad_foto	NUMBER(3,0),
         limit_vel_radar NUMBER(3,0),
	coche	VARCHAR2(7),
	CONSTRAINT observacion_pk PRIMARY KEY(fecha_foto, hora_foto, coche),
	CONSTRAINT observacion_fk FOREIGN KEY (carretera_foto,pto_km_radar, sentido_radar) REFERENCES Radar (carretera_foto, pto_km_radar, sentido_radar),
	CONSTRAINT observacion_matricula_fk FOREIGN KEY(coche) REFERENCES Vehiculo (matricula) ON DELETE SET NULL
);`

The insert:

    `INSERT INTO OBSERVACION(carretera_foto, pto_km_radar, sentido_radar, fecha_foto, hora_foto, velocidad_foto,limit_vel_radar, coche)
    SELECT distinct carretera_foto, pto_km_radar, sentido_radar, TO_DATE(fecha_foto, 'YYYY-MM-DD'), hora_foto, velocidad_foto, limit_vel_radar, matricula 
     FROM gotcha;`

The other table (i want the trigger to insert here):

        CREATE TABLE SANCION(
    importe NUMBER(3,0),
     fecha_foto	VARCHAR2(10),
     hora_foto TIMESTAMP(6),
     coche	VARCHAR2(7),
     tipo VARCHAR2(5),
     NIFdueno VARCHAR2(35),
     CONSTRAINT sancion_pk PRIMARY KEY(fecha_foto, hora_foto, coche, tipo),
     CONSTRAINT sancion_duenio_fk FOREIGN KEY (NIFdueno) REFERENCES Persona (NIFpersona),
     CONSTRAINT sancion_observacion_fk FOREIGN KEY (fecha_foto, hora_foto, coche) REFERENCES Observacion (fecha_foto, hora_foto, coche)
     );

The trigger:

 

       CREATE TRIGGER VELOCIDAD
    AFTER INSERT ON OBSERVACION FOR EACH ROW
        WHEN(NEW.velocidad_foto > NEW.limit_vel_radar)
        DECLARE
        importe_multa NUMBER(3,0);
        BEGIN
        importe_multa =(:NEW.velocidad_foto - :NEW.limit_vel_radar)*10;
        INSERT INTO SANCION(importe, fecha_foto, hora_foto, coche, tipo)
        VALUES
        (importe_multa, :NEW.fecha_foto, :NEW.hora_foto, :NEW.coche, '1');
        END;

Please help.






Oracle Insert Trigger
===

I want to insert rows in the table sancion with a trigger but it remains empty after the inserts.

The first referenced table:

`CREATE TABLE OBSERVACION(

         carretera_foto	VARCHAR2(5),
	pto_km_radar	NUMBER(3,0),
	sentido_radar	VARCHAR2(3),
	fecha_foto	VARCHAR2(10),
	hora_foto	TIMESTAMP(6),
	velocidad_foto	NUMBER(3,0),
         limit_vel_radar NUMBER(3,0),
	coche	VARCHAR2(7),
	CONSTRAINT observacion_pk PRIMARY KEY(fecha_foto, hora_foto, coche),
	CONSTRAINT observacion_fk FOREIGN KEY (carretera_foto,pto_km_radar, sentido_radar) REFERENCES Radar (carretera_foto, pto_km_radar, sentido_radar),
	CONSTRAINT observacion_matricula_fk FOREIGN KEY(coche) REFERENCES Vehiculo (matricula) ON DELETE SET NULL
);`

The insert:

    `INSERT INTO OBSERVACION(carretera_foto, pto_km_radar, sentido_radar, fecha_foto, hora_foto, velocidad_foto,limit_vel_radar, coche)
    SELECT distinct carretera_foto, pto_km_radar, sentido_radar, TO_DATE(fecha_foto, 'YYYY-MM-DD'), hora_foto, velocidad_foto, limit_vel_radar, matricula 
     FROM gotcha;`

The other table (i want the trigger to insert here):

        CREATE TABLE SANCION(
    importe NUMBER(3,0),
     fecha_foto	VARCHAR2(10),
     hora_foto TIMESTAMP(6),
     coche	VARCHAR2(7),
     tipo VARCHAR2(5),
     NIFdueno VARCHAR2(35),
     CONSTRAINT sancion_pk PRIMARY KEY(fecha_foto, hora_foto, coche, tipo),
     CONSTRAINT sancion_duenio_fk FOREIGN KEY (NIFdueno) REFERENCES Persona (NIFpersona),
     CONSTRAINT sancion_observacion_fk FOREIGN KEY (fecha_foto, hora_foto, coche) REFERENCES Observacion (fecha_foto, hora_foto, coche)
     );

The trigger:

 

       CREATE TRIGGER VELOCIDAD
    AFTER INSERT ON OBSERVACION FOR EACH ROW
        WHEN(NEW.velocidad_foto > NEW.limit_vel_radar)
        DECLARE
        importe_multa NUMBER(3,0);
        BEGIN
        importe_multa =(:NEW.velocidad_foto - :NEW.limit_vel_radar)*10;
        INSERT INTO SANCION(importe, fecha_foto, hora_foto, coche, tipo)
        VALUES
        (importe_multa, :NEW.fecha_foto, :NEW.hora_foto, :NEW.coche, '1');
        END;

Please help.





