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

Problema con mi Trigger

Estas en el tema de Problema con mi Trigger en el foro de SQL Server en Foros del Web. Hola amigos todos. No se en que me estoy equibocando pero cuando hago un UPDATE a la tabla que le asocio el disparador éste no ...
  #1 (permalink)  
Antiguo 19/09/2007, 16:47
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 17 años, 6 meses
Puntos: 0
Exclamación Problema con mi Trigger

Hola amigos todos.
No se en que me estoy equibocando pero cuando hago un UPDATE a la tabla que le
asocio el disparador éste no me esta creando los resultados que espero; me los esta poniendo NULOS en las variables del INSERT..
La idea es que yo pueda registrar un registro BORRADO de mi tabla, y se dispare para el efecto mi objeto TRIGGER creando un respaldo en otra tabla con la misma estructura.

Les adjunto mi script:


alter trigger T_Auditar
on dbo.Tabla1
for delete
as
Begin
declare
@Id int, @Nombre varchar(200), @Direccion varchar(200)
select
@Id =a.Id,
@Nombre =a.Nombre,
@Direccion =a.Direccion
from dbo.Tabla1 a inner join Deleted d
on a.Id=d.Id

INSERT INTO dbo.Tabla1Auditoria
(Id, Nombre, Direccion)
VALUES
(@Id, @Nombre, @Direccion )

if @@error<>0
Begin
raiserror ('Error',16,1)
End

End


GRACIAS POR LA VALIOSA AYUDA DE TODOS.


Slads,
Luis

Última edición por LUISESPOCH; 19/09/2007 a las 16:51 Razón: Sorry pero del apuro escribí con faltas
  #2 (permalink)  
Antiguo 19/09/2007, 18:23
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Problema con mi Trigger

No entiendo porque guardar los datos de la tabla DELETED en unas variables, no es tan sencillo como hacer.

INSERT INTO dbo.Tabla1Auditoria
(Id, Nombre, Direccion)
SELECT Id, Nombre, Direccion FROM DELETED

¿Me equivoco?
  #3 (permalink)  
Antiguo 20/09/2007, 11:43
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema con mi Trigger

Gracias iislas por tu comentario si me sirviò, sin embargo sigo necesitanto las variables porque hay una parte del trigger donde yo hago validaciones con estos valores capturados..., ah pero eso no es todo tengo otro problemilla con este mismo trigger...QUE NO ME GRABA NADA UNAS VARIABLES QUE ENCONTRÈ EN UN ARTICULO, y se trataba supuestamente de datos relacionados al servidor..

Es este:


CREATE TRIGGER [ddltrg_CREATE_TABLE_LOG] ON DATABASE -- Create Database DDL Trigger
FOR CREATE_TABLE -- Trigger will raise when creating a Table
AS
SET NOCOUNT ON
DECLARE @xmlEventData XML

-- Capture the event data that is created
SET @xmlEventData = eventdata()

-- Insert information to a EventLog table
INSERT INTO DDL_Trigger_Log.dbo.tblDDLEventLog
(
EventTime,
EventType,
ServerName,
DatabaseName,
ObjectType,
ObjectName,
UserName,
CommandText
)

SELECT REPLACE(CONVERT(VARCHAR(50), @xmlEventData.query('data(/EVENT_INSTANCE/PostTime)')),'T', ' '),
CONVERT(VARCHAR(15), @xmlEventData.query('data(/EVENT_INSTANCE/EventType)')),
CONVERT(VARCHAR(25), @xmlEventData.query('data(/EVENT_INSTANCE/ServerName)')),
CONVERT(VARCHAR(25), @xmlEventData.query('data(/EVENT_INSTANCE/DatabaseName)')),
CONVERT(VARCHAR(25), @xmlEventData.query('data(/EVENT_INSTANCE/ObjectType)')),
CONVERT(VARCHAR(25), @xmlEventData.query('data(/EVENT_INSTANCE/ObjectName)')),
CONVERT(VARCHAR(15), @xmlEventData.query('data(/EVENT_INSTANCE/UserName)')),
CONVERT(VARCHAR(MAX), @xmlEventData.query('data(/EVENT_INSTANCE/TSQLCommand/CommandText)'))

GO




PERO NO ME ESTA GRABANDO ESTOS VALORES... SE VAN NULOS... acaso necesitaría iniciar algun servicio adicional del SQL??

Gracias amigos por la ayuda..

Luis

Última edición por LUISESPOCH; 20/09/2007 a las 11:47 Razón: Faltas ortograficas
  #4 (permalink)  
Antiguo 20/09/2007, 13:31
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Problema con mi Trigger

Luisespoch

¿Que version de SQL SERVER y con que parches cuentas?
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 02:58.