Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

variables en procedimientos almacenados

Estas en el tema de variables en procedimientos almacenados en el foro de Bases de Datos General en Foros del Web. estoy probando triggers y procedimientos almacenados en sqlserver. con este trigger grabo un diario CREATE trigger gravadiari on taula_1 for insert as begin declare @wcodi ...
  #1 (permalink)  
Antiguo 10/10/2003, 07:27
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 21 años, 8 meses
Puntos: 0
variables en procedimientos almacenados

estoy probando triggers y procedimientos almacenados en sqlserver.

con este trigger grabo un diario

CREATE trigger gravadiari on taula_1 for insert
as
begin
declare @wcodi char(10)
select @wcodi = (SELECT codi from inserted)
insert into taula_1_diari (descripcio, coditaula_1) values ('insertado',@wcodi);
end

y funciona, pero ahora quisiera grabar el contenido del registro antes de la modificacion en ese diario. Cómo se hacer?

se que en interbase se puede consultar el valor de un campo a traves de los prefijos OLD y NEW pero aquí me he quedado ...
  #2 (permalink)  
Antiguo 10/10/2003, 07:35
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
En los triggers, tienes dos tablas, una en las que consultas los nuevos valores, inserted, y otra en la que puedes consultar los antiguos, deleted

Un saludo
  #3 (permalink)  
Antiguo 14/10/2003, 07:19
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 21 años, 8 meses
Puntos: 0
gracias
si, lo de las tablas updated y deleted ya està , pero ahora como le digo que en la tabla2 me guarde una copia del registro de la tabla1 antes de modificar

la unica manera que lo he conseguido a sigo realizando un select de cada variable de la tabla y guardarla en variables de sesion y luego guardarla en el insert pero es muy bestia y ahora son pruebas, el fichero con el trabajaré tendrà 62 campos !!!
si tengo que hacer 62 selects carai !!!
  #4 (permalink)  
Antiguo 14/10/2003, 08:06
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
INSERT INTO Tabla2 (Campo1, Campo2, Campo3,......, CampoN) SELECT Campo1, Campo2, Campo3,......, CampoN FROM deleted

esto debe funcionar, otra opción que puede que también resulte es esta

INSERT INTO Tabla2 SELECT delete.* FROM deleted

pero si los campos no están en el mismo orden o si no son los mismos campos, seguramente no funcione.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.