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

Hola buenas tardes a todos mi problemilla es el siguiente, tengo una tabla partidos la cual tiene
PARITDOS
ID_PARTIDOS
NUM_JORNADA
EQ_CASA
EQ_FUERA
RESULTADO

Vale lo que quiero es que dependiento del resultado,que puede ser 1(gana eq_casa),2(gana eq_fuera) y x ... me actualize los puntos de la tabla equipos,dependiendo de quien haya ganado o si han empatado.

La tabla equipos tiene:

EQUIPOS
NOMBRE(PK)
CIUDAD
PUNTOS
DIVISION

He creado este disparador pero no me funciona:

CREATE OR REPLACE TRIGGER SUMA_PUNTOS
AFTER UPDATE ON PARTIDOS
DECLARE
V_EQ_CASA PARTIDOS.EQ_CASA%TYPE;
V_EQ_FUERA PARTIDOS.EQ_FUERA%TYPE;
V_RESULTADO PARTIDOS.RESULTADO%TYPE;
BEGIN
SELECT EQ_CASA,EQ_FUERA,RESULTADO
INTO V_EQ_CASA,V_EQ_FUERA,V_RESULTADO
FROM PARTIDOS;
IF V_RESULTADO=1 THEN
UPDATE EQUIPOS
SET PUNTOS=PUNTOS+3
WHERE V_EQ_CASA=EQUIPOS.NOMBRE;
END IF;
END;

Me faltaria el caso de resutlado=2 y de x pero voy por partes.
el trigger se me crea pero a la hora de actualizar me dice que le salen mas de dos valores, exactamente pone:
exact fetch returns more than requested number of rows
at nombre_trigger, line 6
error during execution of trigger nombre_trigger.

Pido consejo y ayuda porque no se como hacer esto, tambien he de decir que el nombre eq_casa y eq_fuera viene de la clave primaria de equipos (nombre), no se si por coger los nombres del mismo campo habra errores.
Gracias por todo, espero vuestras respuestas.