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

Crear Trigger

Estas en el tema de Crear Trigger en el foro de SQL Server en Foros del Web. Hola Foro: como puedo crear un trigger que detecte cuando hay algun borrado de datos?, tengo una tabla la cual algun usuario malicioso esta eliminando ...
  #1 (permalink)  
Antiguo 20/03/2006, 18:20
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Crear Trigger

Hola Foro:

como puedo crear un trigger que detecte cuando hay algun borrado de datos?, tengo una tabla la cual algun usuario malicioso esta eliminando los registros de ella, como puedo hacer el trrigger para que me avise cuando esto suceda y como poder saber que usuario es?...Saludos
__________________
"Never attribute to malice that which can be adequately explained by stupidity."
  #2 (permalink)  
Antiguo 22/03/2006, 12:45
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Suponiendo que ya tienes una tabla "tblReporte" que tiene los campos adecuados puedes hacer algo como esto:

CREATE TRIGGER mitrigger ON tblAInvestigar
FOR DELETE

INSERT INTO tblReporte
VALUES (GetDate(), 'borrado', SUSER_SNAME(), campo1, campo2, ...)
FROM Deleted

Eso insertará la fecha, la acción (borrado), el nombre del usuario y los campos que selecciones para registrar.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 29/03/2006, 10:46
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola...gracias por responder...
ya cree mi trigger basandomo en el que me pasaste y asi quedo

CREATE TRIGGER [Borrado] ON [dbo].[mi_tabla]
FOR DELETE
AS
DECLARE @Fecha datetime ,@HOST sysname, @User_Name sysname, @Aplicacion sysname
SET @Fecha=GetDate()
SET @host=HOST_NAME()
SET @User_Name=SUSER_SNAME()
SET @Aplicacion=APP_NAME()
INSERT INTO tabla_reporte
SELECT campo1,campo2campo3...campon, @fecha,@HOST,@User_Name,@Aplicacion
FROM DELETED

Espero le pueda servir a alguien y si lo mejoran, cosa que no lo dudo..pues compartan jee :=D
__________________
"Never attribute to malice that which can be adequately explained by stupidity."
  #4 (permalink)  
Antiguo 05/02/2010, 18:50
 
Fecha de Ingreso: enero-2010
Mensajes: 17
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Crear Trigger

Buenas hice una pequeña aplicacion con triggers y todo va bien pero el problema k tengo ahora radica en en el error este:

ERROR 1227 (42000): Access denied; you need the SUPER privilege for this operation

Trate de crear con mi cuenta de administrador o el k tengo para acceder a mi CPANEL, pero nada siempre me manda el mismo error, porfavor solo ese es lo unico k me falta

gracias de ante mano.
  #5 (permalink)  
Antiguo 08/02/2010, 05:43
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Crear Trigger

@percysl si pudieras detallar un poco más cual es la operación que intentas hacer para que te dé ese error sería más sencillo poderte ayudar.

De todas forma yo alguna vez he tenido un error de ese tipo y se produce porque el usuario que te da el proveedor de hosting no tiene suficientes permisos para hacer determinadas cosas. En este caso te recomiendo que te pongas en contacto con él para que realice esas tareas que con tu perfil no se pueden llevar a cabo.
  #6 (permalink)  
Antiguo 08/02/2010, 12: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
Respuesta: Crear Trigger

Ademas de abrir otro hilo para realizar sus preguntas...
  #7 (permalink)  
Antiguo 20/02/2010, 16:59
 
Fecha de Ingreso: enero-2010
Mensajes: 17
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Crear Trigger

Hola Teo, segun fui inevstigando al parecer solo la version de MySQL 5.1 tiene la opcion de poder crear triggers, la que yo uso necesita exclusivamente permisos de super usuario, le hable de esto a mi proveeedor y me dijo k se tendria k actualizar la versionde MySQl y que se tendria k pagar, mi pregunta es si esa es la unica solucion al problema?, ya que usando triggers el trabajo es mas rapido y eficiente.

Muchas gracias a todos.
  #8 (permalink)  
Antiguo 22/02/2010, 13:15
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Crear Trigger

Pero tu pregunta es para SQL Server ¿no?
Porque si no es así está en el subforo que no le corresponde.

De todas formas, si no puedes usar Triggers siempre puedes hacer el mismo código y lanzarlo desde un procedimiento almacenado o desde tu aplicación.
__________________
Mi blog de temas más o menos técnicos

Y aquí el Jamón jamon de Jabugo
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

SíEste tema le ha gustado a 1 personas




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