SQL - Trigger actualizacion tabla

   
Vista:

Trigger actualizacion tabla

Publicado por Manuel (2 intervenciones) el 30/01/2010 18:32:45
Hola,
tengo una duda a la hora de realizar triggers q a ver si podeis solucionarme.
Tengo q crear una tabla con las puntuaciones medias obtenidas de otra tabla. EL trigger debe ejecutarse cada vez q introduzco una nueva puntuacion en la tabla de la q debo obtenr los datos.
Mi duda es si al hacer la consulta sobre esa tabla, se esta teniendo el cuenta la puntuacion q ha hexo saltar el trigger, ya q tengo definido q se ejecute BEFORE INSERT o si por el contrario a la suma obtenida de la consulta debo sumarle el valor almacenado en NEW.

Muchas Gracias.
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Trigger actualizacion tabla

Publicado por Leopoldo Taylhardat (89 intervenciones) el 31/01/2010 00:12:33
Saludos...
Debes tomar el valor de la tupla a insertar (new)... la sumatoria no toma en cuenta este valor porque la haces antes de la inserción...
si por ejemplo actualizaras otra tabla con los valores tomados de esta puedes hacerlo en el evento 'after insert' y te tomaría el valor actual para la suma...
espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Trigger actualizacion tabla

Publicado por Manuel (2 intervenciones) el 31/01/2010 11:32:19
Muchas Gracias, ceo q ya he entendido como funciona. En mi caso el problema esq tengo q crear una nueva tabla con la suma de los valores guardados y el nuevo valor q introducen agrupando en distintos grupos, por lo q el sumar el nuevo valor me desordena la lista y tengo q ir verificando en q posicion se situa la nueva suma.
Otra duda me surge es si dependiendo de alguna verificacion q tenga q hacer en el trigger se inserta o no la nueva tupla, unicamente puede ser BEFORE INSERT, ya q con AFTER INSTERT ya estaria incluida en la base de datos, es esto correcto???

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

...

Publicado por Leopoldo (89 intervenciones) el 31/01/2010 23:35:57
Saludos...
Eso es correcto... el trigger de after insert se ejecuta si todos los condicionales para la entrada de la tupla a la tabla son correctos...
si hay una falla (o falla el mismo trigger) los datos se reversan...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar