Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2011
vivamotos vivamotos is offline
Miembro
 
Registrado: ago 2006
Posts: 150
Poder: 18
vivamotos Va por buen camino
Insertar sentencia SQL despues de Insert,update o delete

Buenas tardes,

Tengo firebird y quisiera saber como seria un SCRIPT que al detectar que hay una inserción,updatación o modificación de la bd lo añada a otra tabla para tener sú histórico.

Grácias.
Responder Con Cita
  #2  
Antiguo 02-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
mmmm
quiza puedas usar triggers
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 02-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Como bien te comenta oscarac, necesitas usar triggers. Específicamente, del tipo After Update y After Insert.

Por cierto, no se dice updatación, es actualización...



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #4  
Antiguo 02-08-2011
vivamotos vivamotos is offline
Miembro
 
Registrado: ago 2006
Posts: 150
Poder: 18
vivamotos Va por buen camino
Como seria este trigger

Vale, seria trigger pero tengo dos dudas,

Primero se tendrá que poner un trigger en cada tabla no?

Luego como seria más o menos el trigger para recoger la consulta?
Responder Con Cita
  #5  
Antiguo 02-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.056
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por vivamotos
...
Por favor, no repitas hilos, hace unos días preguntaste lo mismo, basta con que vayas al mismo hilo y vuelvas a escribir algo para que salga de nuevo en la lista de los últimos posts.
He unido ambos hilos para dejarlo sólo en uno.
Gracias por tu colaboración.
Saludos.
Responder Con Cita
  #6  
Antiguo 02-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Así es, tendrías que tener uno o dos triggers por tabla...

Por ejemplo, para guardar algún cambio en los datos de un campo:

Código SQL [-]
create trigger CambioEnCampo for table TablaUno
active after update position 0
as
begin
  if (old.Campo <> new.Campo) then
    insert into TablaHistorico (Id, NombreCampo, ValorAnt, ValorNuevo)
      values(gen_id(IdHistorico_Gen, 1), 'Campo', old.Campo, new.Campo);
end

Este ejemplo no está probado, pero debería servirte para que te des una idea.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mismatch DataPacket al realizar insert, delete o update Rockin Firebird e Interbase 0 07-04-2008 19:47:56
Como hacer un Select, Insert, Update, Delete en SQL Server BlueSteel MS SQL Server 11 19-07-2007 10:02:42
Trigger Before (Insert,update,delete)? estebanx MS SQL Server 2 25-05-2006 15:58:19
Como crear una sentencia SQL (Insert, update y delete) sitrico Conexión con bases de datos 1 14-10-2004 00:02:42
Insert automatico despues de Delete jealousy Conexión con bases de datos 2 20-09-2003 02:25:14


La franja horaria es GMT +2. Ahora son las 13:54:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi