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

trigger y notificación por email

Estas en el tema de trigger y notificación por email en el foro de SQL Server en Foros del Web. Buenas tardes, estoy tratando de hacer un trigger(primera vez que voy a realizar uno) he leído un poco al respecto, lo que quiero es que ...
  #1 (permalink)  
Antiguo 05/03/2013, 14:51
 
Fecha de Ingreso: agosto-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
Información trigger y notificación por email

Buenas tardes, estoy tratando de hacer un trigger(primera vez que voy a realizar uno) he leído un poco al respecto, lo que quiero es que cuando se hagan modificaciones en la tabla de materiales me llegue una notificacion al correo o se genere un mensaje de los cambios que tiene esa tabla(no se si esto último se puede), lo que sucede es lo sgt: yo tengo una tabla que es modificada todos los días por una rutina dts, lo que hace ésta es reemplazar los datos que hay en la tabla por unos datos nuevos, yo cree una tabla que en cierta parte va a contener la misma información, cundo se corra la rutina la tabla de materiales puede o no contener datos nuevos, al compararla con la tabla de prueba si hay cambios me debe decir cuales son los códigos que estan en materiales que no están en prueba, por lo que he visto he hecho lo sgt:

Buenas tardes, con la consulta ya tengo las referencias que se han modificado o si ingresaron por primera vez, este cambio en la tabla lo hace una rutina, ahora lo que quiero es crear un trigger que me mande una alerta o un correo electronico cuando esto ocurra, pero no se como crear el trigger, leyendo encontré esto, trato de adaptarlo, pero como se muy poco sobre los trigger no se si voy biea, por favor si alguien me puede dar una luz para realizar esto se los agradeceré

CREATE TRIGGER [ComprobarMate] ON [dbo].[t120_mc_items]
FOR INSERT, UPDATE, DELETE
AS
if SELECT f120_referencia, f120_descripcion
FROM t120_mc_items
WHERE (NOT EXISTS
(SELECT *
FROM PruebaMaterial
WHERE t120_mc_items.f120_referencia = PruebaMaterial.CodigoItem))
begin
alter trigger ComprobarMate
on dbo. t120_mc_items
for insert
as

Declare @Mensaje varchar(200)
Declare @ID varchar(50)

--Obtenemos el id del usuario recien insertado
Select @ID = (Select f120_referencia, From Inserted )
Select @Mensaje = 'Nuevo Usuarios en el web : ' + Convert(varchar(10), @ID)


Exec master.dbo.xp_sendmail
@recipients = '[email protected]',
@subject = 'Nuevo usuario',
@message = @Mensaje

Pero me salen errores, y no se de que son, porque cómo he mencionado hasta ahora no había hecho un trigger y no se si lo que quiero hacer se puede realizar, si alguien me puede dar una orientación se los agradeceré
  #2 (permalink)  
Antiguo 05/03/2013, 15:24
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: trigger y notificación por email

¿Porque no mandas el correo en el DTS?, ¿es sql server 2000?
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 05/03/2013, 15:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: trigger y notificación por email

y cuales son los errores?? que quieres hacer in trigger ddl o un trigger dml? unos son para cuando haces un cambio a tus datos(insert,update,delete) y el otro es cuando haces cambios a la estructura de tu tabla o los 2??

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 05/03/2013, 16:53
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: trigger y notificación por email

Si es ENVIAR UN CORREO, jamas lo haría por un TRIGGER, eso me queda claro
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 05/03/2013, 16:58
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: trigger y notificación por email

Cita:
Iniciado por iislas Ver Mensaje
Si es ENVIAR UN CORREO, jamas lo haría por un TRIGGER, eso me queda claro
a bueeeno esa es otra cosa a menos que quieras un correo despues de cada insercion y si en el dia tienes una media de 500 inserciones ps.......creo que el servidor de correo no awantaria jejeje......ya que si la compañer@ quiere llevar una bitacora de modificaciones se podrian meter los cambios en una tabla y al final del dia mandar los detalles por email :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 06/03/2013, 07:56
 
Fecha de Ingreso: agosto-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: trigger y notificación por email

Buenos días, les cuento lo que sucede del porque quiero hacer ese trigger, todos los días al finalizar el día se corre una rutina DTS, lo que hace esta rutina es reemplazar los datos de la tabla materiales, puede que halla ingresado o modificado un código, cuando esto ocurra lo que quiero es que me avise del nuevo código, que se compare la tabla de materiales con prueba de materiales y diga si hay algún código nuevo, esto se hace una vez al día, no todos los días hay cambios de código, esto se produce cuando un proovedor cambia una referencia de un producto y no es constante, cuando se realizan estos cambios la rutina no deja huella, ella reemplaza lo que está en ese momento lo que está en ese momento sin afectar a la tabla hija, traté de que me pasaran la rutina para hacer la modificación de la columna en la tabla hija o crear la alerta de cambio, pero no es posible tener acceso a ella, por eso pense en crear la tabla PruebaMaterial, lo que quiero con esta tabla es que se compare los datos que tengo en ésta tabla con relación a la tabla material(los datos que están en material que no esten en pruebamaterial, que se envíe un mail, se cree una alerta, algo que me diga que se ha producido un cambio y hay codigos nuevos y por ultimo cuando ya esté la alerta, el mail, crear una rutina que dts que reemplace lo que está en peuebamaterial por los datos de material, para que cuando se valla a realizar la comprobación de códigos la tabla material tenga los datos del día anterior, todo esto se hace una sola vez al día y no todos los días se producen cambios, esto es algo eventual, si alguno tiene otra forma se los agradezco, es que es primera vez que trabajo con trigger.

Gracias
  #7 (permalink)  
Antiguo 06/03/2013, 09:07
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: trigger y notificación por email

ok, ya explicaste para que quieres un trigger que envie mail, ahora la pregunta del millon, que errores te manda el codigo que implementaste?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: email, notificación, select, tabla, trigger
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:19.