Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

For en trigger

Estas en el tema de For en trigger en el foro de Oracle en Foros del Web. Buenas. Tengo este trigger que recorre una tabla para comprobar si se cumple una condición: Código: TRIGGER DISTANCIA AFTER INSERT ON OBSERVACION FOR EACH ROW ...
  #1 (permalink)  
Antiguo 26/02/2012, 15:09
 
Fecha de Ingreso: febrero-2012
Mensajes: 1
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta For en trigger

Buenas.

Tengo este trigger que recorre una tabla para comprobar si se cumple una condición:


Código:
TRIGGER DISTANCIA
AFTER INSERT ON OBSERVACION FOR EACH ROW
DECLARE
importe_multa NUMBER (3,0);
BEGIN
 FOR ROW IN (SELECT fecha_foto, hora_foto, pto_km_radar, sentido_radar, carretera_foto FROM OBSERVACION) LOOP
	IF((ROW.fecha_foto = :NEW.fecha_foto)
	AND
	(ROW.carretera_foto= :NEW.carretera_foto)
	AND
	(ROW.pto_km_radar=:NEW.pto_km_radar)
	AND
	(ROW.sentido_radar=:NEW.sentido_radar))
	THEN
  
	IF(ROW.hora_foto<:NEW.hora_foto-3,6/86400)
	THEN
	importe_multa:= (:NEW.hora_foto - ROW.hora_foto - 3,6/86400)*100;
	END IF;
	IF(:NEW.hora_foto < ROW.hora_foto-3,6/86400)
	THEN
	importe_multa:= (ROW.hora_foto - :NEW.hora_foto - 3,6/86400)*100;
	END IF;

   IF(importe_multa IS NOT NULL)
   THEN
     --Introducimos el valor en el campo.
     INSERT INTO SANCION(importe, fecha_foto, hora_foto, coche, tipo)
     VALUES
     (importe_multa, :NEW.fecha_foto, :NEW.hora_foto, :NEW.coche, '2');
     END IF;
    END IF;
END LOOP;
END;
Al intentar compilarlo con el SQLDeveloper me lanza este error:

ORA-01008: Not all variables bound.

¿Estoy referenciando las variables de OBSERVACION correctamente?

Etiquetas: for-loop, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:48.