09. december 2005 - 10:16Der er
13 kommentarer og 1 løsning
Sende mail når værdi højere end -15C
Kan man i SQL Server definere, hmmm....en trigger, som løbende overvåger poster i databasen (der indsættes ca. 100 poster hver 30 min.), som sender en mail til en given adresse, indeholdende værdien af feltet? Sagen er at vi har kig på et produkt, FlexAlert, som selv sender mail (altså ikke fra SQL Server), men det virker ikke rigtigt.
Jeg tænker på noget a la dette eksempel (fra MCSE training kit: Microsoft SQL Server 2000 Database Design And Implementing):
USE BookShopDB GO CREATE TRIGGER dbo.alerter ON dbo.employees AFTER INSERT, UPDATE, DELETE AS EXEC master..xp_sendmail ‘BarryT’, ‘A record was just inserted, updated or deleted in the Employees table.’ GO
Så skal der bare tilføjes noget kode der checker om værdien i min tabel er større/mindre end tilladt..... :(
CREATE TRIGGER alerter ON [dbo].[LabelDB] AFTER UPDATE, INSERT AS EXEC master..xp_sendmail 'MitNavn', 'A record was just inserted or updated in the MinTabel table.'
Nu er jeg ved at have noget der ligner noget, men jeg vil gerne tilføje dato og klokkeslæt for aktivering af triggeren (troede man bare kunne "vedhæfte" datoen ved at skrive + Date, men den går ikke)
CREATE TRIGGER alerter ON [dbo].[minDatabase] AFTER UPDATE, INSERT AS DECLARE @recipients_var as varchar(255), @subject_var as varchar(255), @message_var as varchar(255),
SELECT @message_var = [minFelt] FROM minDatabase SELECT @recipients_var = 'minMailadresse' SELECT @subject_var = 'A record was just inserted or updated in the minTabel table.' EXEC master..xp_sendmail @recipients = @recipients_var, @subject = @subject_var, @message = @message_var
du skal smide datoen igennem convert eks. convert(char(20), getdate(), 105) 105 er convert typen, som kommer an på hvilket format du vil have. Convert er godt beskrevet i online books
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.