千家信息网

存储过程+job 定时执行固定的SQL语句

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,做报表时,需要读取大量数据和进行复杂的计算,往往比较耗时,所以一般会将结果存放在一张结果表中,报表直接读取结果表,这样就会很快了。此时,为了更新结果表,获得最新数据,就需要定时执行一些SQL语句,此时
千家信息网最后更新 2025年02月24日存储过程+job 定时执行固定的SQL语句

做报表时,需要读取大量数据和进行复杂的计算,往往比较耗时,所以一般会将结果存放在一张结果表中,报表直接读取结果表,这样就会很快了。此时,为了更新结果表,获得最新数据,就需要定时执行一些SQL语句,此时可以采用:存储过程+job的方式来达到目的,具体步骤如下
创建存储过程:

create or replace procedure datawarn.P_TEST is

begin

delete from test_table;
insert test_table select * from table1; --sql块,即你要执行的sql语句

commit; --sql块

end;


执行存储过程(手动调用一次存储过程):

EXEC 存储过程名;



创建JOB:

begin

dbms_scheduler.create_job (

job_name => 'J_TEST', --JOB名称

job_type => 'STORED_PROCEDURE',

job_action => 'P_TEST', --存储过程名

start_date => sysdate,

repeat_interval => 'FREQ=MINUTELY; INTERVAL=10', -- 十分钟一次

comments => 'JOB说明'

);

end;

ps:创建job的时候要小心一点,仔细检查,不要写错信息,如果报错,再次创建会导致创建不成功,可以换个job名称尝试一下

--启动

begin

dbms_scheduler.enable('J_TEST');

end;


执行

begin

dbms_scheduler.run_job(job_name => 'J_TEST',force => TRUE); -- true代表同步执行

end;

停止

dbms_scheduler.stop_job(job_name => 'J_TEST',force => TRUE);

--DI JOB查询

select * from tsc_jobstatus

过程 存储 结果 语句 名称 报表 数据 复杂 成功 代表 信息 再次 很快 手动 方式 时候 果报 步骤 目的 同步 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大一软件开发实训心得体会 网络安全攻防一体机 数据库系统原理范式例题 上海蜗牛网络技术有限公司 香港合租服务器 宿豫区多功能网络技术厂家价格 深海迷航服务器搭建 网络安全员职业资格证 access连接数据库 海信软件开发工资待遇 sql服务器如何更改密码 楚雄互联网科技怎么样 Springboot数据库默认字段为空 有关计算机网络技术面试范文 华硕路由器服务器停止服务 qq 网络安全 mysql数据库服务器开发 椒江区直销软件开发设备制造 各单位成立网络安全中心 系数据库中 主键是 免备案服务器优势 大数据服务器需要部署哪些服务 查看某个数据库中所有表的语句 承载网络技术支撑岗位 怎么选择一个范围内的数据库 数据库和硬件区别 重大网络安全活动保障总结 黄浦区智能网络技术 谈谈移动通信中网络安全的认识 江西一站式网络技术服务信息中心
0