我有一種情況,可能會從多個用戶多次調用查詢,但我只希望它對數據庫運行一次(每週)。環境是SQL Server Express,因此不能通過SQL Server代理進行調度。它需要與2005年兼容。我想盡可能輕量化,所以我在尋求建議。理想情況下,數據庫範圍聲明變量 - 但我不認爲SQL Server支持這樣一個野獸?謝謝儘管被稱爲多次執行SQL Server中的查詢一次
2
A
回答
2
嘗試這樣:
IF NOT EXISTS (-- Check if you have the current week content
SELECT *
FROM WeeklyTable
WHERE
DATEPART(YEAR, DateCr) = DATEPART(YEAR, GETDATE())
AND
DATEPART(WEEK, DateCr) = DATEPART(WEEK, GETDATE())
)
BEGIN
-- delete old content
DELETE WeeklyTable
-- insert new content
INSERT INTO WeeklyTable (MyID, MyField1, ... , MyFieldN, DateCr)
SELECT
MyID, MyField1, MyField2, GETDATE()
FROM MainTable
END
您可以創建索引所需的WeeklyTable。
1
一個選項是SQL Scheduler作爲SQL Server Express的附加組件。
另一種選擇是創建一個小型命令行實用程序,該實用程序可以在安裝了SQL Server Express的計算機上使用Windows計劃程序進行查詢和計劃。
使用這兩個設置中的任何一個,您都可以每週選擇一次您需要的值/數值到結果表中,並且可以從該結果表中滿足一週內的任何請求。 SQL Server沒有「服務器級」的變量 - 但你總是可以定義一個表爲目的...
+0
感謝您的建議,但我瞄準的是一個(理想的)解決方案,不需要任何addtional添加基本的SQL Express安裝沒有。我只是認爲在sQL中它必須有足夠的功能,但我不希望它佔用資源。我會通過 –
相關問題
- 1. 一次執行exec多次查詢一次SQL
- 2. 的SQL Server:查詢執行時間取決於如何查詢多次執行
- 3. 每小時執行一次SQL查詢
- 4. SQL查詢執行不止一次?
- 5. 一次更新多行的SQL查詢
- 6. 多次運行SQL查詢
- 7. 一次執行多個本地查詢
- 8. 如何在SQL Server中一次運行多個查詢
- 9. PHP - PDO查詢執行兩次execute()只被調用一次
- 10. Perl的DBI執行多個SQL查詢一次
- 11. 在查詢中執行多次SUM(fieldX)
- 12. 限制執行sql查詢的次數
- 13. PHP MySQL查詢被執行兩次
- 14. 查詢在SQL Server中執行第二次執行的時間較少
- 15. SQL插入查詢執行兩次
- 16. object.hitTestObject(other_object)被執行多次
- 17. DataContext被執行多次
- 18. UIAlertview被稱爲多次
- 19. MySQL效率 - 在一次查詢中執行多次重複語句多次執行?
- 20. 爲什麼windows.onload被執行多次?
- 21. 在SQL Server查詢中多次顯示一列
- 22. NEO4J多次執行性能查詢
- 23. will_paginate查詢會執行多次?
- 24. $ .ajax使API調用兩次,儘管它只被調用一次
- 25. 只執行一次Sql命令一次
- 26. 只執行一次SQL函數一次
- 27. 一次SQL查詢中的多次計數
- 28. PDO - 查詢執行兩次?
- 29. 爲什麼CDbCacheDependency的查詢被執行兩次?
- 30. 在SQL Server中一次執行幾個.sql文件的方法
來調試SQL sheduler,謝謝,那肯定會起作用,因爲我從另一個方向處理這個問題。 –
完整的解決方案涉及創建一個服務代理「線程」,它可以被配置爲只有一個活動消息。 –