Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/01/2013, 11:34
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problema con un trigger

puedes manejar las tablas en este caso inserted o deleted, para saber cual es el id del partido que estas usando(o en su defecto los equipos que se enfrentaron), ahora falta saber como guardas el resultado, en la columna, si pones gano, perdio, empato, no se si lo tengas asi pero digamos que esta de este modo:

partido local visitante resultado
1 equipo1 equipo2 gana

cuando haces el update de esta tabla ya sabes que el que gano fue el equipo1 local ;) asi que al hacer el trigger quedaria algo asi:


Código SQL:
Ver original
  1. CREATE TRIGGER partidos after UPDATE ON partidos
  2. BEGIN
  3. DECLARE @resultado VARCHAR(20)
  4. DECLARE @LOCAL VARCHAR(20)
  5. DECLARE @visitante VARCHAR(20)
  6. SELECT @resultado=resultado FROM deleted
  7. SELECT @LOCAL=LOCAL FROM deleted
  8. SELECT @visitante=visitante FROM deleted
  9.  
  10. IF @resultado='gana' THEN
  11. UPDATE equipos SET puntos=puntos+3 WHERE nombre=@LOCAL
  12. IF @resultado='pierde' THEN
  13. UPDATE equipos SET puntos=puntos+3 WHERE nombre=@visitante
  14. IF @resultado='empata' THEN
  15. BEGIN
  16. UPDATE equipos SET puntos=puntos+1 WHERE nombre IN (@visitante,@LOCAL)
  17. END
  18.  
  19. END

espero te sirva de ayuda :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me