IF sætning i trigger
Jeg bruger følgende stump i en trigger:IF Exists (SELECT * FROM inserted WHERE Måler= + @Maaler_var AND Tæller > + @LimitValue_var) AND not exists (SELECT * FROM deleted WHERE Måler= + @Maaler_var) AND @SendMail_var = -1
Triggeren sender en mail hvis ovenstående er opfyldt.
Hvis jeg ændrer lidt på SELECT'en og skriver "Tæller < + @LimitValue_var", bliver resultatet modsat, altså hvis @LimitValue_var = -18 og den indsatte post indeholder -12, vil den først sende en mail, den næste ikke. Det er som det skal være. Nu vil jeg dog gerne sætte et tidsrum på, så man ikke modtager mails i arbejdstiden (hvor systemet alligevel overvåges konstant), men når jeg prøver med følgende SELECT (og samme values som lige nævnt), sendes der mails HVER gang!
IF Exists (SELECT * FROM inserted WHERE Måler= + @Maaler_var AND Tæller > + @LimitValue_var AND Klokkeslæt BETWEEN + @TidsrumStart_var AND '23:59:59' OR Klokkeslæt BETWEEN '00:00:00' AND + @TidsrumSlut_var) AND not exists (SELECT * FROM deleted WHERE Måler= + @Maaler_var) AND @SendMail_var = -1
(hvis jeg vender "Tæller > + @LimitValue_var" til "Tæller < + @LimitValue_var", bliver der STADIG sendt mails!)