2015-12-21 117 views
0

我在我的leavemaster表中有一個字段「總計字段」。現在我的需求是自動更新這個字段,以便在新年開始時增加15天,即1月1日。我想通過觸發來使用它。但是當我嘗試實現它時沒有幫助。 任何人都可以幫助我做到這一點?在那裏我已經創建批處理文件如下任何其他想法,這樣做 在此先感謝...新年開始時自動更新字段SQL

SQLCMD -E -Timesheet -ic:\ BAT \ UpdateTotalLeave.sql

和我的SQL文件如下:

UPDATE empTable SET TotalLeave = TotalLeave + 15

和我設置的Windows任務調度,如圖圖像(我設置測試今天的日期和時間),但在表中未更新。

task scheduler

有蝙蝠文件或我的任務調度任何錯誤? 謝謝

+0

您正在使用什麼數據庫?是否想讓數據庫在1月1日發生時識別,然後自動更新每行的總計字段? – Ben

+0

SQL server 2008 r2 – KaviSuja

+0

你是否想要添加15天,或只是在某個日期範圍內?順便說一下,我認爲觸發可能是這裏的一種方式。 –

回答

3

我認爲你可以編寫一個SQL服務器代理作業,每年1月1日運行,並根據您的標準更新所需的表。

SQL觸發器在這種情況下可能無法幫助,因爲觸發器在插入/更新/刪除操作時起作用。

+0

感謝您的回覆。我想與SQL Server Agent Job一起工作。但在我們的服務器中只有快遞版本可用(無法運行SQL Server代理作業)..所以如何才能做到這一點 – KaviSuja

+0

hm ..那麼你必須編寫一個批處理文件並將該批處理文件添加到Windows計劃任務。您可以使用** sqlcmd **工具來完成這項工作。我還沒有用** sqlcmd **工具進行嘗試。你可以參考[鏈接](https://msdn.microsoft.com/en-us/library/ms162773.aspx) – Venkatesh

+0

好吧,我會參考它並致力於它謝謝 – KaviSuja