簡體   English   中英

查詢在周末/每周一天內自動更改(MS SQL)

[英]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.

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