Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/01/2013, 07:20
mkeydiluffy
 
Fecha de Ingreso: noviembre-2010
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema con un trigger

Cierto, tienes razon con lo de los valores, he pensao que me viene mejor hacerlo con un cursor ya que tengo que ir comprobando fila a fila y he hecho esto:

Código:
DECLARE
CURSOR suma_puntos IS
(SELECT EQ_CASA, EQ_FUERA, RESULTADO
 FROM PARTIDOS
 WHERE RESULTADO is not NULL);
v_local PARTIDOS.EQ_CASA%TYPE;
v_visitante PARTIDOS.EQ_FUERA%TYPE;
v_resultado PARTIDOS.RESULTADO%TYPE;
BEGIN
 OPEN suma_puntos;
 FETCH suma_puntos INTO v_local,v_visitante,v_resultado;
  WHILE suma_puntos%FOUND LOOP
   IF v_resultado=1 THEN
	UPDATE EQUIPOS
	SET PUNTOS=PUNTOS+3
	WHERE NOMBRE=v_local;
	END IF;
   FETCH suma_puntos INTO v_local,v_visitante,v_resultado;
  END LOOP;
 CLOSE suma_puntos;
END;
Si no entiendes algo del codigo pregunta. Con la select del cursor me aseguro que las filas que consulto tienen resultado.
Y despues pues con el if hago los diferentes puntos que se suman (aqui solo tengo cuando gana local)
El tema es que me da un fallo que no se que quiere decir te lo pongo:

Código:
DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 13
Es algo del if pero no se que, a ver si me podeis echar una mano os lo agradezco de antemano, gracias.