加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

SQLserver应用与设置异步执行存储的问题是什么

发布时间:2023-07-06 14:24:32 所属栏目:MySql教程 来源:
导读:这篇文章主要介绍“SQLserver存储与设置定时执行存储的方法是什么”,在日常操作中,相信很多人在SQLserver存储与设置定时执行存储的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
这篇文章主要介绍“SQLserver存储与设置定时执行存储的方法是什么”,在日常操作中,相信很多人在SQLserver存储与设置定时执行存储的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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存储过程简单写法与设置定时执行存储过程方法了
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!