Tablas "circulares"

17/02/2004 - 13:52 por Hernan Nieto | Informe spam
Hola:

Necesito su ayuda para desarrollar un desencadenante que carga una tabla de
auditoria. Pero quiero que esta tabla crezca hasta un limite, por ejemplo
10.000 registros. Una vez llegado a esta cantidad que los nuevos datos que
se cargan, se graben desde el principio de la tabla, sobreescribiendo los
datos mas viejos. Se puede hacer esto?. Tengo idea de como hacerlo, pero no
pude hasta ahora llevarlo a codigo.
Creo que la cosa la puedo encarcar controlando el valor del campo identidad,
si pasa de 10.000, busco el campo fecha mas viejo, y le hago un update, con
los mismos datos que grabe en el registro con el campo 10.001, y luego borro
este ultimo.

Dede ya, mcuhas gracias.

Saludos.
 

Leer las respuestas

#1 Maximiliano D. A.
17/02/2004 - 13:55 | Informe spam
Bueno se me ocurre asi nomas (espero los tomatazos ;))

Es:

Primero generar una tabla temporal donde pondre con un Identity los valor a
insertar,

Bien luego dentro del Trigger hago un Select count(*) From Auditoria y luego
a la cantidad de Registroas maximos le resto ese count, dandome la cantidad
de registros a insertar si?

Bien entonces ahi hago el insert tomando los datos de la tabla temporal,
como este tiene el Identity vos ahi le pones el rango, suponete que la Dif
de da 100 vos le pones en el inser algo asi como

Insert into tabla_auditoria (campos)
Select campos From #tabla_temporal where campo_identty <= resto

Bien

luego yo borraria los N registros que necesito y los inserto con un Insert
donde Campo_identity > resto.

Es una forma nomas


Salu2
Maximiliano Damian Accotto
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Hernan Nieto" escribió en el mensaje
news:
Hola:

Necesito su ayuda para desarrollar un desencadenante que carga una tabla


de
auditoria. Pero quiero que esta tabla crezca hasta un limite, por ejemplo
10.000 registros. Una vez llegado a esta cantidad que los nuevos datos que
se cargan, se graben desde el principio de la tabla, sobreescribiendo los
datos mas viejos. Se puede hacer esto?. Tengo idea de como hacerlo, pero


no
pude hasta ahora llevarlo a codigo.
Creo que la cosa la puedo encarcar controlando el valor del campo


identidad,
si pasa de 10.000, busco el campo fecha mas viejo, y le hago un update,


con
los mismos datos que grabe en el registro con el campo 10.001, y luego


borro
este ultimo.

Dede ya, mcuhas gracias.

Saludos.








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.581 / Virus Database: 368 - Release Date: 09/02/2004

Preguntas similares