<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
最近工作中需要寫SQLserver的儲存過程,第一次使用,簡單記錄下,以防遺忘。
在SQLserver視覺化工具中編寫,我的工具如下圖:
首先點選你的資料庫,找到可程式化性,在可程式化性裡面右擊儲存過程-->點選新建儲存過程
然後開始寫你的儲存過程SQL
--寫法(無參): USE [Test] --[Test]使用的資料來源(資料庫名) GO /****** Object: StoredProcedure [dbo].[PR_ShowData] Script Date: 2022/11/12 13:58:38 ******/ --[dbo].[PR_ShowData]新建儲存過程,[dbo].[PR_ShowData]是儲存過程名 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[PR_ShowData] --修改儲存過程,[dbo].[PR_ShowData]是儲存過程名 AS 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 end 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儲存過程寫法與設定定時執行儲存過程的文章就介紹到這了,更多相關SQLserver設定定時執行儲存過程內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45