Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/05/2009, 03:04
javi_cassi
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 10 meses
Puntos: 11
Respuesta: Ayuda con triggers

Por cierto, para comprobar que un producto no tiene dos precios en la misma fecha, por qué no haces esta select???

Cita:
SELECT count(1) into contador
FROM tarifas a
WHERE a.id_producto = :new id_producto
and fecha= :new id_fecha;
Ahora bien, esto tiene un problema, al comparar dos campo fechas, estas comparando todo el campo fecha (dias, mes, año, minutos, horas y segundo), por lo que es dificl que sean iguales.
Si la hora de creacion te da igual y solo te importa el dia, entonces:

Cita:
SELECT count(1) into contador
FROM tarifas a
WHERE a.id_producto = :new id_producto
and to_char(fecha,'dd/mm/yyyy')= to_char(:new id_fecha, 'dd/mm/yyyy');
Esta comprobación la puedes hacer antes de hacer la insercion en la bbdd, usando las variables id_producto y fecha que recojas del formulario en el que estes trabajando.


Y otra cosa.
Dices qeu tus clave es: id_tarifa,id__producto
al tener esta clave, no vas a poder tener un mismo producto con tarifas iguales (independientemente de las fechas) Ej. PRODUCTO 1 VALE 3 EUROS
PRODUCTO 1 VALE 4 EUROS SUBE LE PRODUCTO
PRODUCTO 1 VALE 3 EUROS (BAJA POR LA CRISIS) no te va a dejar por la clave

Ya nos deices que tal

saludos

Última edición por javi_cassi; 28/05/2009 a las 03:18