Crear tabla temporal en trigger

04/06/2005 - 14:56 por Alonso | Informe spam
Necesito crear en un trigger una tabla temporal que me resuma los registros
de INSERTEd sobre un campo pues la voy a utilizar en distintas instrucciones
consecutivas.

Se puede hacer y como ?

Preguntas similare

Leer las respuestas

#11 Maxi
06/06/2005 - 00:26 | Informe spam
Hola Jose, lamento no coincidir :( con tu criterios entonces se deberia usar
los triggers y hasta desarrollarlos para pocos registros, ojo con eso, no es
asi, los triggers deben estar pensado para trabajar en conjunto de registros
y no registro a registro.

Ahora, es cierto que para implementar un trigger deberia ser de ultima, yo
solo los uso en casos muy particulares como por ej Auditoria de sistemas.

Un abrazo


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Jose" escribió en el mensaje
news:%
Mostrar la cita
#12 Alonso
06/06/2005 - 01:03 | Informe spam
Eso ya es mas razonable.

Saludos.

"Jose" wrote in message
news:%
Mostrar la cita
un
Mostrar la cita
se
Mostrar la cita
un
Mostrar la cita
por
Mostrar la cita
tabla,
Mostrar la cita
vista.
Mostrar la cita
un
Mostrar la cita
trigger
Mostrar la cita
cuidado,
Mostrar la cita
mas
Mostrar la cita
temporal,
Mostrar la cita
a
Mostrar la cita
valor,
Mostrar la cita
algo
Mostrar la cita
inserted
Mostrar la cita
inserted
Mostrar la cita
inserted
Mostrar la cita
sum(valor)
Mostrar la cita
asi.
Mostrar la cita
no
Mostrar la cita
la
Mostrar la cita
o
Mostrar la cita
distintas
Mostrar la cita
#13 qwalgrande
06/06/2005 - 21:06 | Informe spam
Hola.

En tu caso, yo prepararía un procedimiento almacenado para actualizar la
tabla de acumulados, cada uno de los valores por separado. Luego metería la
ejecución del procedimiento almacenado en un job y lo lanzaría cada poco
tiempo (tan poco como tú consideres). Indexas bien y te va a ir como un
tiro. Puedes incluso ver si tienes que actualizar el registro antes de
lanzar el update (si lo que hay y lo que vas a poner es lo mismo, no hace
falta que lo lances). Todo ello con transacciones cortas y rápidas, evitando
que en cada movimiento de la tabla transaccionproyecto se vea penalizado el
rendimiento con el cálculo del acumulado.

Así obtienes una tabla de acumulados que se actualiza cada x tiempo,
pongamos cada 1 minuto, puede ser más o menos, según tú decidas. Y si se da
el caso de que haya alguna consulta especialmente crítica en la que haya que
asegurarse que el dato es absolutamente fiable, pues antes de consultar,
lanzas manualmente el procedimiento almacenado.

Lo que comentas puede provocarte muchos bloqueos. Además, lo de los triggers
es algo que no me gusta (personalmente). Si hay otra forma, prefiero siempre
no usarlos.

qwalgrande

"De lo que ves créete la mitad, de lo que no ves no te creas nada"
V. del V.


"Alonso" escribió en el mensaje
news:
Mostrar la cita
#14 Maxi
06/06/2005 - 21:14 | Informe spam
Amigo, es bueno lo que indicas pero tiene un gran problema: Queda la
informacion fuera de tiempo y no esta online el acumulado a menos que hagas
que el JOB se dispare por segundo, lo cual es peor aun :(

Yo en estos casos uso vistas indexadas, te olvidas de los triggers y la
informacion la tenes al vuelo :-)


Salu2
Maxi


"qwalgrande" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida