簡體   English   中英

SQL Server 代理作業步驟 - 如果存在不評估

[英]SQL Server agent job step - if exists not evaluating

我在 SQL Server 2016 中設置了一個作業來監視表並通過電子郵件通知是否存在某些數據。

IF EXISTS (SELECT 1 FROM NPS_Logging.dbo.accounting_data WHERE "NP_Policy_Name" LIKE 'VPN%' AND "timestamp" > DATEADD(day,-1,CURRENT_TIMESTAMP))
BEGIN
 send email (won't bother showing full commands as they work as mentioned below)
END

當我測試這份工作時,我沒有收到電子郵件。

我認為if exists沒有評估(我知道現在應該這樣做)所以我手動運行了SELECT 1...查詢,它返回了 1。

然后我認為發送電子郵件已損壞,因此我將其放在開始/結束之外並進行了測試。

if exists (SELECT 1 ...
BEGIN
END
send email

它奏效了,我收到了一封電子郵件。

誰能看到我哪里出錯了?

刪除引號:

IF EXISTS (SELECT 1 FROM NPS_Logging.dbo.accounting_data WHERE NP_Policy_Name LIKE 'VPN%' AND timestamp > DATEADD(day,-1,CURRENT_TIMESTAMP)) BEGIN 發送電子郵件(不會顯示完整的命令,因為它們的工作方式如下所述)END

就我個人而言,當我做這種事情時,我喜歡檢索記錄數而不是使用 IF EXISTS...我經常在電子郵件的正文或主題中使用記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM