oracle每隔一小时执行一次定时任务,批量执行语句 250

最好整点执行,每小时一次,语句如下:createtablea_tmpasselect*froma_remote;droptablea_local;RENAMEa_tmpT... 最好整点执行,每小时一次,语句如下:
create table a_tmp as select * from a_remote;
drop table a_local;
RENAME a_tmp TO a_local;
Create Index i1 on a_local;(col1);
Create Index i2 on a_local;(col2);
没有参数需求,定时执行即可
展开
 我来答
腾讯电脑管家
2018-09-20 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
展开全部
create table a(a date);

create or replace procedure test as
begin
insert into a values(sysdate);
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫宣阁
2023-03-11 · 还没有任何签名哦紫宣阁紫宣阁
紫宣阁
采纳数:13 获赞数:27

向TA提问 私信TA
展开全部

如果你需要在 Oracle 数据库中每隔一个小时执行一次一组 SQL 语句,可以使用 Oracle 提供的 Job Scheduling 功能。具体步骤如下:

  • 创建一个存储过程,该存储过程包含需要执行的一组 SQL 语句。

  • 使用 DBMS_SCHEDULER.CREATE_JOB() 存储过程创建一个新的定时任务,并设置任务的执行时间间隔为一个小时。

  • 启用定时任务。

下面是一个示例代码,演示如何在 Oracle 数据库中创建一个每隔一个小时执行一次 SQL 语句的定时任务:

-- 创建存储过程,包含需要执行的 SQL 语句

CREATE OR REPLACE PROCEDURE my_job

IS

BEGIN

-- 执行 SQL 语句

EXECUTE IMMEDIATE 'create table a_tmp as select * from a_remote';

EXECUTE IMMEDIATE 'drop table a_local';

EXECUTE IMMEDIATE 'RENAME a_tmp TO a_local';

EXECUTE IMMEDIATE 'Create Index i1 on a_local(col1)';

EXECUTE IMMEDIATE 'Create Index i2 on a_local(col2)';

END;

/

-- 创建一个每隔一个小时执行一次 my_job 存储过程的定时任务

BEGIN

DBMS_SCHEDULER.CREATE_JOB (

job_name => 'my_hourly_job',

job_type => 'STORED_PROCEDURE',

job_action => 'my_job',

start_date => SYSTIMESTAMP,

repeat_interval => 'FREQ=HOURLY;INTERVAL=1',

enabled => TRUE);

END;

/

在上述示例代码中,首先创建了一个名为 my_job 的存储过程,该存储过程包含需要执行的 SQL 语句。接下来使用 DBMS_SCHEDULER.CREATE_JOB() 存储过程创建了一个新的定时任务,该任务名为 my_hourly_job,类型为 STORED_PROCEDURE,执行的是 my_job 存储过程。定时任务的开始时间为当前时间,执行间隔为每隔一个小时,启用该定时任务。

注意:在实际使用中,需要将 my_job 存储过程中的 SQL 语句替换成自己需要执行的 SQL 语句。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式