当前位置:首页 » 编程语言 » sql语句定时执行

sql语句定时执行

发布时间: 2023-06-28 02:07:05

㈠ 怎么样才能让sql数据库定期执行一句sql语句

create or replace procere MYPROCEDURE is
begin
UPDATE mac_vod SET vod_play_url= replace(vod_play_url, '第', '弟');
commit;
end MYPROCEDURE;

declare myjob number;
begin
DBMS_JOB.SUBMIT(
job => myjob,
what => 'myprocere;',
next_date => SYSDATE,
interval => 'sysdate+5/(24*60)');
commit;
end;

㈡ 我想定时让 oracle 执行一段sql语句 怎么做

如:定时删除三分钟前的数据

###1.创建存储过程
SQL>createorreplaceprocerepro_delete_aas
2begin
3deletefromatwheret.a<(sysdate-3/1440);###一天1440分钟。即一分钟是1/1440
4end;
5/

Procerecreated
###2创建job
SQL>variablejob_pro_delete_anumber;
SQL>begin
2dbms_job.submit(:job_pro_delete_a,'pro_delete_a;',sysdate,'sysdate+3/1440');
3end;
4/

PL/
job_pro_delete_a
---------
127

###3.调用job
SQL>begin
2dbms_job.run(:job_pro_delete_a);
3end;
4/

PL/
job_pro_delete_a
---------
127

###4.删除job
SQL>begin
2dbms_job.remove(:job_pro_delete_a);
3end;
4/
Ps:select*fromuser_jobs;
dbms_job.remove(ID);

㈢ sql2008 如何定时执行存储(每月1号凌晨2点自动执行存储proc_Sales_order)

IFEXISTS(SELECT*FROMmsdb.dbo.sysjobsWHEREname='启用pubs数据库')
EXECmsdb.dbo.sp_delete_job@job_name='启用pubs数据库'

--定义创建作业
DECLARE@jobiniqueidentifier
EXECmsdb.dbo.sp_add_job
@job_name=N'启用pubs数据库',
@job_id=@jobidOUTPUT

--定义作业步骤
DECLARE@sqlnvarchar(400),@dbnamesysname
SELECT@dbname=N'master',--数据库联机或者脱机只能在master数据库中进行
@sql=N'ALTERDATABASEpubsSETONLINE'--使用pubs数据库联机(启用)
EXECmsdb.dbo.sp_add_jobstep
@job_id=@jobid,
@step_name=N'启用pubs数据库处理',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql

--创建调度(使用后面专门定义的几种作业调度模板)
EXECmsdb..sp_add_jobschele
@job_id=@jobid,
@name=N'启用pubs数据库处理调度',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x1,
@freq_subday_interval=1,
@active_start_time=075000--每天07:50分执行

--添加目标服务器
DECLARE@servernamesysname
SET@servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXECmsdb.dbo.sp_add_jobserver
@job_id=@jobid,
@server_name=@servername


--给你一个例子不懂在问我

㈣ 如何将一条sql语句每天定时的执行,执行完了,自动发出短信

1 使用sql的job来实现sql的定时执行
2 执行完时,将短信信息写入一张有关的信息表。
3 另外一个短信服务程序,不停查找待发短信,并发送

㈤ 怎么使某一条sql语句每天定时执行

linux or Unix系统中有一个叫crontag的东西。
你可以设定执行的时间,它就是每天循环执行了。
格式:(second hour date month week)
00 10 * * * /u01/app/cronjob/exe_select.sh
每天十点整执行一次

㈥ 如何定时的去执行SQL语句

1.把要执行的SQL语句准备好,例如:
use ttNew //使用ttNew数据库
Go
insert into Users(name) values(" ") //往表Users插入一条记录
将该语句保存在文件user.sql里,放在d盘跟目录下。
2.写一个批处理文件,例如:
再新建一个记事本,里边写上语句osql -E -i d:\user.sql,保存为11.bat
3.利用系统任务计划调用批处理文件,执行SQL语句

在系统程序->附件->系统工具->任务计划
添加新任务计划,点下一步,再点浏览,找到11.bat文件,后,选择执行时间,点下一步。一直点,最后输入本机的密码,点完成。

php如何定时的执行sql语句

在mysql中创建事件,可用于定时执行
CREATE EVENT

CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schele
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;

㈧ Oracle中如何定时执行一条SQL语句

通过网上查询,找到一种方案,就是先在oracle里面对要定时的sql写成存储过程,再用DBMS_scheler对存储过程进行定时执行。

在数据库中新建了一个表MY_JOB_TEST

在数据库中新建了一个表MY_JOB_TEST

在数据库中新建了一个表MY_JOB_TEST

在PLSQL中,执行下面语句模拟存储过程的调用,执行后要点提交才有反应

[sql] view plain

  • BEGIN

  • INSERTINTOMY_JOB_TEST(NUM)VALUES(1);

  • END;


  • 然后下面建立一个存储过程JOB_TEST

    (注意,这里用户需要CREATE JOB权限,可以用超级管理员用户执行下面语句给指定用户赋予该权限)

    [sql] view plain

  • GrantCreateJobTo指定用户名



  • [sql] view plain

  • SQL>CREATEORREPLACEPROCEDURE

  • JOB_TEST

  • BEGIN

  • INSERTINTOMY_JOB_TEST(NUM)VALUES(1);

  • END;


  • (此处要执行存储过程不能用exec JB_TEST,这种执行方式只能在命令行中使用)
  • 使用DBMS_SCHEDULER进行定时,这里为每分钟执行一次

    [sql] view plain

  • SQL>BEGIN

  • DBMS_SCHEDULER.CREATE_JOB(

  • job_name=>'SCHEDULER_TEST',

  • job_type=>'STORED_PROCEDURE',

  • job_action=>'JOB_TEST',

  • start_date=>sysdate,

  • repeat_interval=>'FREQ=MINUTELY;INTERVAL=1');

  • END;


  • 但是这样子定时任务并不会执行。
  • 我们可以用下面的命令查看一下scheler的状态

    [plain] view plain

  • SQL>SELECT*FROMUSER_SCHEDULER_JOBS;

  • 此时我们可以看到enable的状态是false的,因此我们需要去启动定时任务
  • [plain] view plain

  • SQL>BEGIN

  • DBMS_SCHEDULER.ENABLE('SCHEDULER_TEST');


  • dbms_scheler.enable('j_test'); --启用jobs
    dbms_scheler.disable('j_test'); --禁用jobs
    dbms_scheler.run_job('j_test'); --执行jobs
    dbms_scheler.stop_job('j_test'); --停止jobs
    dbms_scheler.drop_job('j_test'); --删除jobs


    然后再查询job的enable装态,发现为true了。

    然后查看MY_JOB_TEST表,发现每分钟会往里面添加记录。

    当需要修改定时任务或者调度的其他属性时,可以用下面的

  • dbms_scheler.set_attribute('调度名','调度属性','调度值');



  • 至此,定时任务完成。

热点内容
斯诺克数据库 发布:2025-02-11 21:54:02 浏览:533
安卓手机降噪功能在哪里打开呢 发布:2025-02-11 21:52:56 浏览:701
腾讯云服务器购买网址 发布:2025-02-11 21:37:46 浏览:61
安卓电话视频怎么投电视上 发布:2025-02-11 21:32:27 浏览:19
易签到源码 发布:2025-02-11 21:31:03 浏览:499
编程班会 发布:2025-02-11 21:27:19 浏览:739
ubuntu编译fortran 发布:2025-02-11 21:21:59 浏览:202
云服务器宽带单位 发布:2025-02-11 20:48:11 浏览:538
安卓数据线公头是哪个 发布:2025-02-11 20:45:42 浏览:812
网址原始密码是什么 发布:2025-02-11 20:33:52 浏览:72