![](/img/trans.png)
[英]SQL Best way to store the day and week or weekend day (time and attendance)
[英]query changing automatically on weekend / one day per week (MS SQL)
我在另一個數據庫的表A上使用VIEW,以便將其插入/更新到表B中。該視圖具有過濾新行以減少網絡流量的條件:
SELECT ... from A
WHERE new_records = 1
基於該視圖,我有一個每天每小時運行的存儲過程。
每周一次,我想使用一個查詢來驗證我的表B,該查詢使用表A中的所有記錄
我想將視圖更改為:
SELECT ... from A
-- WHERE new_records = 1
我想知道有一份能改變我觀點的工作。 但是我發現我無法在存儲過程中執行ALTER VIEW。
是否可以包含類似的內容
IF today = Sunday then Do not use WHERE
ELSE
...WHERE
我將其實現為2個視圖-第一個選擇所有視圖,第二個從帶有附加new_records = 1
過濾器的第一個視圖中進行選擇。
您可以在單個視圖中添加您要詢問的邏輯:
WHERE datename(DW,GETDATE()) = 'Sunday' OR new_record=1
但是,我真的不喜歡使用編碼視圖的概念來更改特定日期的行為,當您要進行臨時驗證時會發生什么? 你會被卡住。
該過程稱為每小時一次,但您提到要每周檢查一次,如果是單個視圖,則在周日謂詞上接聽每小時呼叫時,您將在周日將其作為檢查運行24次。
最后說明-如果您采用變更視圖方法,則需要為執行帳戶提供其他特權,而這些特權否則可以避免。
怎么樣where new_records=1 or datepart(weekday,getdate())=7
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.