当前位置:首页 » 存储配置 » sql存储过程定时执行存储过程

sql存储过程定时执行存储过程

发布时间: 2022-09-07 11:27:28

❶ 如何每天定时执行一个存储过程

1、打开sql Server Management Studio,SQL Server代理--作业--点右键--新建作业
2、作业的名称取为:test,并进行说明,若作业的数量太多,以方便区别; 这里写上定时执行存储过程Pr_test,确定保存.
3、点击常规下面的步骤,按箭头指示,新建步骤.
4、取名步骤名称:exec pr_test,注意选择存储过程所在的数据库;录入需要执行的命令:exec pr_test ,确定保存.
      若有其它参数命令也可以编写
5、新建计划,进放计划属性设置窗口.
6、依然要填写计划的名称:exec pr_test
     计划类型:重复计划
      时间频率:每月的26日的12点30分自动执行一次
     持续时间:无结束日期
     确定保存.到此基本功能已经设置完成,额外其它功能可以根据需要进行增加.

❷ sql server怎么自动执行存储过程

作业里定时执行存储过程定时作业的制定
企业管理器
--管理
--SQL
Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL
脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC
存储过程名
...
--该存储过程用于创建表
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL
Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键
SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

❸ 如何让sql自动定时执行某个存储过程

declare @ftype int,@fstype int,@ffactor int
select @ftype=case @freqtype when 'day' then 4
when 'week' then 8
when 'month' then 16 end
,@fstype=case @fsinterval when 1 then 0 else 8 end
if @fsinterval<>1 set @time=0
set @ffactor=case @freqtype when 'day' then 0 else 1 end
EXEC msdb..sp_add_jobschele @job_name=@jobname!

❹ SQL实现存储过程

提供4中方案:
1、可以用sql作业的方式来定时执行。
2、编写服务,定时执行存储过程。
3、利用ado.net的方式,timmer定时执行来实现。
4、如果是每天的某个时间段来执行的话,可以配置windows计划任务来执行程序。程序中执行你的存储过程。

❺ SQLserver2005定时执行存储过程

先对你的问题进行分析:
你现在又2类时间字段,一个是系统时间T1,一个是你插入表的时间T2(T2可能是一系列时间值),然后将T1分别和T2系列时间值判断,要是T1>T2了,就开始执行你写的存储过程。
显示是可以显示,但是可能会让SQL数据库占用很多内存,应为你要随时判断T1的时间和T2的时间的大小关系。
解决方案:你可以用SQL2005写个ETL(SSIS),然后系统每1分钟或者5分钟、10分钟去执行该ETL。ETL的大致思路就是定义2个变量,一个是T1系统时间,一个是T2获取你插入表的时间,然后根据你的实际需求,把逻辑写好。

❻ 在sqlserver中写好了存储过程,要在程序中定期的去执行存储过程,并将其结果导入到指定的excel文件中

sqlserver 有一个openrowset函数,可以把结果写入到指定到excel文件中。
insert into openrowset("驱动","连接字符串","执行的语句") select * from tablename。
具体的用法和去网络下,我用这个函数导出过dbf。效率非常高。但是写入的excel文件必须在sqlserver数据库服务器上面。

❼ 怎样让sqlserver后台定时执行某个存储过程

SQL代理中添加工作计划(job)

❽ mysql怎么让一个存储过程定时执行

mysql怎么让一个存储过程定时执行
查看event是否开启: show variables like '%sche%';
将事件计划开启: set global event_scheler=1;
关闭事件任务: alter event e_test ON COMPLETION PRESERVE DISABLE;
开户事件任务: alter event e_test ON COMPLETION PRESERVE ENABLE;

简单实例.
创建表 CREATE TABLE test(endtime DATETIME);

创建存储过程test
CREATE PROCEDURE test ()
BEGIN
update examinfo SET endtime = now() WHERE id = 14;
END;

创建event e_test
CREATE EVENT if not exists e_test
on schele every 30 second
on completion preserve
do call test();

每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去

1) 首先来看一个简单的例子来演示每秒插入一条记录到数据表

USE test;
CREATE TABLE aaa (timeline TIMESTAMP);
CREATE EVENT e_test_insert
ON SCHEDULE EVERY 1 SECOND
DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP);
等待3秒钟后,再执行查询看看:

mysql> SELECT * FROM aaa;
+---------------------+
| timeline |
+---------------------+
| 2007-07-18 20:44:26 |
| 2007-07-18 20:44:27 |
| 2007-07-18 20:44:28 |
+---------------------+
2) 5天后清空test表:

CREATE EVENT e_test
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
3) 2007年7月20日12点整清空test表:

CREATE EVENT e_test
ON SCHEDULE AT TIMESTAMP '2007-07-20 12:00:00'
DO TRUNCATE TABLE test.aaa;
4) 每天定时清空test表:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
DO TRUNCATE TABLE test.aaa;
5) 5天后开启每天定时清空test表:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
6) 每天定时清空test表,5天后停止执行:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
7) 5天后开启每天定时清空test表,一个月后停止执行:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
DO TRUNCATE TABLE test.aaa;
[ON COMPLETION [NOT] PRESERVE]可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。
8) 每天定时清空test表(只执行一次,任务完成后就终止该事件):

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
ON COMPLETION NOT PRESERVE
DO TRUNCATE TABLE test.aaa;
[ENABLE | DISABLE]可是设置该事件创建后状态是否开启或关闭,默认为ENABLE。
[COMMENT ‘comment’]可以给该事件加上注释。

三、修改事件(ALTER EVENT)
ALTER EVENT event_name
[ON SCHEDULE schele]
[RENAME TO new_event_name]
[ON COMPLETION [NOT] PRESERVE]
[COMMENT 'comment']
[ENABLE | DISABLE]
[DO sql_statement]
1) 临时关闭事件

ALTER EVENT e_test DISABLE;
2) 开启事件

ALTER EVENT e_test ENABLE;
3) 将每天清空test表改为5天清空一次:

ALTER EVENT e_test
ON SCHEDULE EVERY 5 DAY;
四、删除事件(DROP EVENT)
语 法很简单,如下所示:

DROP EVENT [IF EXISTS] event_name
例如删除前面创建的e_test事件

DROP EVENT e_test;
当然前提是这个事件存在,否则会产生ERROR 1513 (HY000): Unknown event错误,因此最好加上IF EXISTS

DROP EVENT IF EXISTS e_test;

create event test
ON SCHEDULE AT '2007-09-01 12:00:00' + INTERVAL 1 DAY
on completion not preserve
do insert into yyy values('hhh','uuu');

解释:从2007-09-01开始,每天对表yyy在12:00:00进行一个插入操作。而且只执行一次(on completion not preserve )

我的计划任务为:

create event sysplan
ON SCHEDULE AT '2010-05-22 23:00:00' + INTERVAL 1 DAY
on completion not preserve
do truncate table bjproj.ae_tmp;

三、通过设定全局变量event_scheler 的值即可动态的控制事件调度器是否启用。
查看是否event_scheler开启mysql> SHOW VARIABLES LIKE '%event%';
设置开启mysql> SET GLOBAL event_scheler=ON;
四、例子:
每分钟插入一条日志:DELIMITER //CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 MINUTE STARTS '2010-12-27 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN INSERT INTO log SET addtime=NOW();END//
调用存储过程:DELIMITER //CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 DAY STARTS '2010-00-00 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN CALL user_log_prov();END//

❾ MSSQL数据库中定时存储的存储过程

您好!要实现你要的功能;操作如下:
一、可以先写好存储过程的内容;放在目标数据库中
二、在MSSQL的SQL server代理——〉作业——〉新建一个作业 在[常规]选项卡中 设置 名称AUTOZY——〉在[步骤]选项卡中 点击[新建作业]
三、在弹出的作业步骤窗口中;填写步聚名称(自己取一个)--运行身份选择SA或者WINDOWS运行都可以---在数据库处选择 目标数据库(这步很关键)---
在命令 处 写 exec 存储过程的名称(这个不要写错)---点击[确定] 返回上级窗口
四、选择[计划]选项卡 --在计划窗口中可以具体设置怎么样定时运行的方案
五、设置好后 [确定]返回上级窗口---再点击[确定]保存了这个作业
如有不明之处;欢迎CALL 我

❿ SQL Server 里需要定时执行某个存储过程,存储过程怎么写

1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->
2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->
分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->描述[填写本次工作详细描述内容];[ 创建作业分类的步骤:SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]
3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->数据库[要操作的数据库]->命令[ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件如果要执行存储过程,填exec p_procere_name v_parameter1,[ v_parameter2…v_parameterN]]->确定(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->更改[调度时间表]->确定(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。

热点内容
数据库数据的一致性 发布:2025-01-11 17:30:45 浏览:707
手机怎么设置手势安卓 发布:2025-01-11 17:15:54 浏览:964
威能壁挂炉解压阀 发布:2025-01-11 17:15:53 浏览:559
突破服务器ip限制 发布:2025-01-11 17:11:23 浏览:818
支付宝上传凭证 发布:2025-01-11 17:10:29 浏览:876
怎么打开行李箱的密码锁 发布:2025-01-11 17:09:51 浏览:593
苹果怎么删除id账号和密码 发布:2025-01-11 17:09:50 浏览:784
7z解压很慢 发布:2025-01-11 16:51:23 浏览:942
电脑改文档服务器 发布:2025-01-11 16:41:14 浏览:870
编译汇编语言实例 发布:2025-01-11 16:36:55 浏览:671