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

Recuperar valor de un campo con un trigger

Estas en el tema de Recuperar valor de un campo con un trigger en el foro de SQL Server en Foros del Web. Hola.. como el titulo lo dice.. yo tengo este trigger CREATE TRIGGER updInsp ON [dbo].[Inspecciones] FOR UPDATE AS DECLARE @ID varchar select @ID = (select ...
  #1 (permalink)  
Antiguo 16/05/2006, 23:47
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
Recuperar valor de un campo con un trigger

Hola.. como el titulo lo dice.. yo tengo este trigger

CREATE TRIGGER updInsp ON [dbo].[Inspecciones]
FOR UPDATE
AS
DECLARE @ID varchar
select @ID = (select Cod_insp from deleted)
insert into auditoria (tipo, tabla, Cod_Tabla) values (1, 'Inspecciones', @ID)



qué es lo que hace ahorita mi trigger? me crea el registro en la tabla auditoria pero la variable @ID solo me recupera la primera letra del campo Cod_Insp
Xq? digamos que Cod_Insp tiene el valor "IVI123456789"
@ID solo recupera la letra "I"
qué debo hacer para que me funcione bien y me recupere todo el valor de Cod_Insp?

Gracias de antemano
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #2 (permalink)  
Antiguo 17/05/2006, 12:13
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola. intenta con esto:
CREATE TRIGGER updInsp ON [dbo].[Inspecciones]
FOR UPDATE
AS
DECLARE @ID sysname

saludos...espero te ayude
__________________
"Never attribute to malice that which can be adequately explained by stupidity."
  #3 (permalink)  
Antiguo 17/05/2006, 16:37
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
CREATE TRIGGER updInsp ON [dbo].[Inspecciones]
FOR UPDATE
AS
insert into auditoria (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 17/05/2006, 18:36
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
Gracias.. lo probaré y les contaré
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #5 (permalink)  
Antiguo 18/05/2006, 10:07
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
si funciona.. gracias
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #6 (permalink)  
Antiguo 19/05/2006, 13:07
 
Fecha de Ingreso: mayo-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Y si

Cita:
Iniciado por Mithrandir
CREATE TRIGGER updInsp ON [dbo].[Inspecciones]
FOR UPDATE
AS
insert into auditoria (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted
  #7 (permalink)  
Antiguo 19/05/2006, 13:09
 
Fecha de Ingreso: mayo-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Pregunta y si tengo + tablas

Tengo la misma cituacio y al igual me a funcionado, pero ahora tengo que copiar ese registro en 5 tablas mas como le puedo hacer?
  #8 (permalink)  
Antiguo 19/05/2006, 14:43
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Simplemente añadiendo más sentencias:
Código:
CREATE TRIGGER updInsp ON [dbo].[Inspecciones]
FOR UPDATE
AS
insert into auditoria (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted

insert into auditoria2 (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted

insert into auditoria3 (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted

insert into auditoria4 (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted

insert into auditoria5 (tipo, tabla, Cod_Tabla)
select 1, 'Inspecciones', Cod_insp from deleted
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 22:22.