
正文
sqlserver定时执行存储过程,sqlserver定时执行语句
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
SQL Server 里需要定时执行某个存储过程,存储过程怎么写?
create
procedure
pro_test
as
declare
@time
datetime,
@id
int,
@difftime
int
declare
cursor_time
cursor
for
select
id,time
from
test_table
-----(your
table_name)
open
cursor_time
fetch
cursor_time
into
@id,@time
begin
while
@@fetch_status=0
begin
select
@difftime=DateDiff(dd,@time,getdate())
if
@difftime0
and
@difftime=30
begin
update
test_table
set
money3
=
money1*0.3,money4
=
(money1*0.3-money2)
where
id=@id
end
if
@difftime30
and
@difftime=60
begin
update
test_table
set
money3
=
money1*0.6,money4
=
(money1*0.6-money2)
where
id=@id
end
if
@difftime60
and
@difftime=365
begin
update
test_table
set
money3
=
money1*0.9,
money4
=
(money1*0.9-money2)
where
id=@id
end
if
@difftime365
begin
update
test_table
set
money3
=
money1
,money4
=
(money1-money2)
where
id=@id
end
end
end
把存储过程里的表明改成你的table
创建好这个存储过程后,然后在企业管理器里,展开“管理”-“sql
server
代理”-“作业”
新建一个作业。
在“步骤”里选择你要执行的库,然后
在代码栏写上‘exec
pro_test’,“调度”里设置下时间,就可以了。
不明白的地方hi我。
相关问答
Q1: sql server:如何设置自动执行的存储过程?
--方法1:作业里定时执行存储过程定时作业的制定 企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --"命令"中输入要执行的语句: EXEC 存储过程名 ... --该存储过程用于创建表 --确定 --"调度"项 --新建调度 --"名称"中输入调度名称 --"调度类型"中选择你的作业执行安排 --如果选择"反复出现" --点"更改"来设置你的时间安排 然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行 设置方法: 我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定. --方法2:将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行"。 或在master中创建存储过程后,执行语句配置为自动启动 use master exec sp_procoption '存储过程名','startup','on' 自动执行存储过程 SQL Server 启动时能够自动执行一个或多个存储过程。这些存储过程必须由系统管理员创建,并在 sysadmin 固定服务器角色下作为后台过程执行。这些过程不能有任何输入参数。 对启动过程的数目没有限制,但是要注意,每个启动过程在执行时都会占用一个连接。假如必须在启动时执行多个过程,但无需并行执行,则能够指定一个过程作为启动过程,让该过程调用其他过程。这样就只占用一个连接。 在启动时恢复了最后一个数据库后,即开始执行存储过程。若要跳过这些存储过程的执行,请将启动参数指定为跟踪标记 4022。假如以最低配置启动 SQL Server(使用 -f 标记),则启动存储过程也不会执行。有关更多信息,请参见跟踪标记。 若要创建启动存储过程,必须作为 sysadmin 固定服务器角色的成员登录,并在 master 数据库中创建存储过程。 使用 sp_procoption 能够: 将现有存储过程指定为启动过程。
Q2: SqlServer如何设置每秒执行存储过程
打开SQL Server Management Studio,SQL Server代理--作业--点右键--新建作业
作业的名称取为:test
并进行说明,若作业的数量太多,以方便区别;
这里写上定时执行存储过程Pr_test
确定保存.
点击常规下面的步骤,按箭头指示,新建步骤.
取名步骤名称:exec pr_test
注意选择存储过程所在的数据库
录入需要执行的命令:exec pr_test ,确定保存.
若有其它参数命令也可以编写
接下来设置计划,自动定时执行的时间.
新建计划,进放计划属性设置窗口.
6
依然要填写计划的名称:exec pr_test
计划类型:重复计划
时间频率:每月的26日的12点30分自动执行一次
持续时间:无结束日期
确定保存.到此基本功能已经设置完成,额外其它功能可以根据需要进行增加.
sqlserver定时执行存储过程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于sqlserver定时执行语句、sqlserver定时执行存储过程的信息别忘了在本站进行查找喔。





