共計 2190 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要介紹“SQLserver 存儲與設置定時執行存儲的方法是什么”,在日常操作中,相信很多人在 SQLserver 存儲與設置定時執行存儲的方法是什么問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SQLserver 存儲與設置定時執行存儲的方法是什么”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
在 SQLserver 可視化工具中編寫,我的工具如下圖:
首先點擊你的數據庫,找到可編程性,在可編程性里面右擊存儲過程 – 點擊新建存儲過程
然后開始寫你的存儲過程 SQL
-- 寫法(無參):
USE [Test] --[Test]使用的數據來源(數據庫名)
/****** Object: StoredProcedure [dbo].[PR_ShowData] Script Date: 2022/11/12 13:58:38 ******/ --[dbo].[PR_ShowData]新建存儲過程,[dbo].[PR_ShowData]是存儲過程名
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
ALTER PROCEDURE [dbo].[PR_ShowData] -- 修改存儲過程,[dbo].[PR_ShowData]是存儲過程名
BEGIN
declare @FLAG VARCHAR(50) -- 如果需要變量的話,則是用此方法定義變量,類型根據需要自定義
-- 將 D 表中條件為 P01= 0 的 P02 值查出來賦值給變量 @FLAG
SELECT @FLAG=P02 from D where P01 = 0
-- 判斷變量值,執行判斷條件里面的 SQL 語句,這里 if 里面必須要寫開頭的 begin 與結束的 end
if (@FLAG=0) -- 如果變量值為 0,就刪除 A,B,C 三個表里的數據,否則就插入數據
begin
delete A
delete B
delete C
insert into A (字段 A, 字段 B,.....)VALUES(數據 1, 數據 2,.....)
insert into B (字段 A, 字段 B,.....)VALUES(數據 1, 數據 2,.....)
insert into C (字段 A, 字段 B,.....)VALUES(數據 1, 數據 2,.....)
END
如上就是一個簡單的存儲過程了,完成后點擊執行就行了。以上可以簡單理解為, 用到的數據庫是 [Test] 數據庫,新建的存儲過程是[dbo].[PR_ShowData],因為我的業務是需要根據 D 表的條件更新 A,B,C 三個表的數據的,所以判斷了結果后根據條件先把 A,B,C 三個表的原有數據刪除或者保留, 然后把需要的數據再插入到 A,B,C 三個表中。
剛開始時在這里踩了一個坑,插入時一直報錯
以 A 表舉例:
如果插入的數據只是一段固定的值, 則字段和數據之間要用 VALUES, 格式 insert into A (字段 A, 字段 B,…..)VALUES(數據 1, 數據 2,…..);
如果是從其他表查出來的數據結果, 則不使用 VALUES, 直接 insert into A (字段 A, 字段 B,…..)(select * from 數據來源表名); 只要字段對應即可。
ALTER PROCEDURE 相對于 Create PROCEDURE 優點:
(1)ALTER PROC 期望找到現存的存儲過程,而 CERATE 不是。
(2)ALTER PROC 保留了已經建立的存儲過程的任何權限。它在系統對象中保留了相同的對象 ID 并允許保留依賴關系。
例如,如果過程 A 調用過程 B,并刪除和重新創建了過程 B,那么就不能再看到這兩者之間的依賴關系。如果使用 ALTER,則依賴關系依然存在。
(3) ALTER PROC 在其他對象上保留了任何依賴關系的信息,這些對象可以調用修改的存儲過程。
編寫執行的腳本, 比如多久執行一次存儲過程等
找到 SQL Server 代理, 右擊作業 – 新建作業
1. 常規(名稱自己定義, 確定即可)
2. 點擊步驟 – 點擊最下面的新建
2.1)步驟名稱(一般是 exec 存儲過程名, 我的是 exec [dbo].[PR_ShowData])
2.2)類型選擇 Transact-SQL 腳本(T-SQL)
2.3)數據庫選擇你的數據庫
2.4)命令 exec PR_ShowData,最后點擊確定即可。
3. 點擊計劃 – 新建
3.1)名稱寫 2.4)中的, 我的是 exec PR_ShowData
3.2)計劃類型根據自己的業務需求, 我是重復執行, 后面的已啟用打勾
3.3)頻率 – 執行(我選擇的是每天)– 執行間隔(我選的 1 天)
3.4)每天頻率我選擇的是執行間隔十分鐘執行一次, 開始時間和結束時間根據自己需要選擇時間段
3.5)持續時間(開始和結束時間自己選擇, 如果要一直執行就選擇無結束日期)
3.6)摘要 – 說明(會把你設置的信息總結, 可以看是不是復合自己的要求)
3.7)最后點擊確定即可
我這里計劃列表顯示的有是因為我已經建過了。
如上便實現了 SQLserver 存儲過程簡單寫法與設置定時執行存儲過程方法了
到此,關于“SQLserver 存儲與設置定時執行存儲的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!