溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

發(fā)布時(shí)間:2023-03-13 13:49:33 來(lái)源:億速云 閱讀:140 作者:iii 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹“SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么”,在日常操作中,相信很多人在SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

在SQLserver可視化工具中編寫(xiě),我的工具如下圖:

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

首先點(diǎn)擊你的數(shù)據(jù)庫(kù),找到可編程性,在可編程性里面右擊存儲(chǔ)過(guò)程-->點(diǎn)擊新建存儲(chǔ)過(guò)程

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

然后開(kāi)始寫(xiě)你的存儲(chǔ)過(guò)程SQL

--寫(xiě)法(無(wú)參):
 
USE [Test]		--[Test]使用的數(shù)據(jù)來(lái)源(數(shù)據(jù)庫(kù)名)
GO
/****** Object:  StoredProcedure [dbo].[PR_ShowData]    Script Date: 2022/11/12 13:58:38 ******/		--[dbo].[PR_ShowData]新建存儲(chǔ)過(guò)程,[dbo].[PR_ShowData]是存儲(chǔ)過(guò)程名
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
 
ALTER PROCEDURE [dbo].[PR_ShowData]		--修改存儲(chǔ)過(guò)程,[dbo].[PR_ShowData]是存儲(chǔ)過(guò)程名
 
AS
BEGIN
 
	 declare @FLAG VARCHAR(50)		--如果需要變量的話,則是用此方法定義變量,類型根據(jù)需要自定義
 
--將D表中條件為P01=0的P02值查出來(lái)賦值給變量@FLAG
SELECT @FLAG=P02 from D where P01 = '0'
 
	--判斷變量值,執(zhí)行判斷條件里面的SQL語(yǔ)句,這里if里面必須要寫(xiě)開(kāi)頭的begin與結(jié)束的end
	 if (@FLAG=0)        --如果變量值為0,就刪除A,B,C三個(gè)表里的數(shù)據(jù),否則就插入數(shù)據(jù)
		begin
			delete A
			delete B
			delete C
		end
 
insert into A (字段A,字段B,.....)VALUES(數(shù)據(jù)1,數(shù)據(jù)2,.....)
insert into B (字段A,字段B,.....)VALUES(數(shù)據(jù)1,數(shù)據(jù)2,.....)
insert into C (字段A,字段B,.....)VALUES(數(shù)據(jù)1,數(shù)據(jù)2,.....)
 
END

如上就是一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程了,完成后點(diǎn)擊執(zhí)行就行了。以上可以簡(jiǎn)單理解為,用到的數(shù)據(jù)庫(kù)是[Test]數(shù)據(jù)庫(kù),新建的存儲(chǔ)過(guò)程是[dbo].[PR_ShowData],因?yàn)槲业臉I(yè)務(wù)是需要根據(jù)D表的條件更新A,B,C三個(gè)表的數(shù)據(jù)的,所以判斷了結(jié)果后根據(jù)條件先把A,B,C三個(gè)表的原有數(shù)據(jù)刪除或者保留,然后把需要的數(shù)據(jù)再插入到A,B,C三個(gè)表中。

剛開(kāi)始時(shí)在這里踩了一個(gè)坑,插入時(shí)一直報(bào)錯(cuò)

以A表舉例:

如果插入的數(shù)據(jù)只是一段固定的值,則字段和數(shù)據(jù)之間要用VALUES,格式insert into A (字段A,字段B,.....)VALUES(數(shù)據(jù)1,數(shù)據(jù)2,.....);
如果是從其他表查出來(lái)的數(shù)據(jù)結(jié)果,則不使用VALUES,直接insert into A (字段A,字段B,.....)(select * from 數(shù)據(jù)來(lái)源表名);只要字段對(duì)應(yīng)即可。

ALTER PROCEDURE 相對(duì)于Create PROCEDURE優(yōu)點(diǎn):

(1)ALTER PROC 期望找到現(xiàn)存的存儲(chǔ)過(guò)程,而CERATE不是。

(2)ALTER PROC 保留了已經(jīng)建立的存儲(chǔ)過(guò)程的任何權(quán)限。它在系統(tǒng)對(duì)象中保留了相同的對(duì)象ID并允許保留依賴關(guān)系。

例如,如果過(guò)程A調(diào)用過(guò)程B,并刪除和重新創(chuàng)建了過(guò)程B,那么就不能再看到這兩者之間的依賴關(guān)系。如果使用ALTER,則依賴關(guān)系依然存在。

(3) ALTER PROC 在其他對(duì)象上保留了任何依賴關(guān)系的信息,這些對(duì)象可以調(diào)用修改的存儲(chǔ)過(guò)程。

編寫(xiě)執(zhí)行的腳本,比如多久執(zhí)行一次存儲(chǔ)過(guò)程等

找到SQL Server代理,右擊作業(yè)-->新建作業(yè)

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

1.常規(guī)(名稱自己定義,確定即可)

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

2.點(diǎn)擊步驟-->點(diǎn)擊最下面的新建

2.1)步驟名稱(一般是exec 存儲(chǔ)過(guò)程名,我的是exec [dbo].[PR_ShowData])

2.2)類型選擇Transact-SQL 腳本(T-SQL)

2.3)數(shù)據(jù)庫(kù)選擇你的數(shù)據(jù)庫(kù)

2.4)命令exec PR_ShowData,最后點(diǎn)擊確定即可。

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

3.點(diǎn)擊計(jì)劃-->新建

3.1)名稱寫(xiě)2.4)中的,我的是exec PR_ShowData

3.2)計(jì)劃類型根據(jù)自己的業(yè)務(wù)需求,我是重復(fù)執(zhí)行,后面的已啟用打勾

3.3)頻率-->執(zhí)行(我選擇的是每天)-->執(zhí)行間隔(我選的1天)

3.4)每天頻率我選擇的是執(zhí)行間隔十分鐘執(zhí)行一次,開(kāi)始時(shí)間和結(jié)束時(shí)間根據(jù)自己需要選擇時(shí)間段

3.5)持續(xù)時(shí)間(開(kāi)始和結(jié)束時(shí)間自己選擇,如果要一直執(zhí)行就選擇無(wú)結(jié)束日期)

3.6)摘要-->說(shuō)明(會(huì)把你設(shè)置的信息總結(jié),可以看是不是復(fù)合自己的要求)

3.7)最后點(diǎn)擊確定即可

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

我這里計(jì)劃列表顯示的有是因?yàn)槲乙呀?jīng)建過(guò)了。

SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么

如上便實(shí)現(xiàn)了SQLserver存儲(chǔ)過(guò)程簡(jiǎn)單寫(xiě)法與設(shè)置定時(shí)執(zhí)行存儲(chǔ)過(guò)程方法了

到此,關(guān)于“SQLserver存儲(chǔ)與設(shè)置定時(shí)執(zhí)行存儲(chǔ)的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI