【无标题】

https://www.cnblogs.com/dc-earl/category/1246799.html
https://blog.youkuaiyun.com/m0_37941193/article/details/76456988


#本案例是每天定时修改交易日期为当天
–procedure(存储过程)
– 创建存储过程
create or replace procedure update_trade_dt as
begin
update WDZX.CBondAnalysisCNBD set trade_dt = (select to_char(sysdate,‘yyyymmdd’) as trade_dt from dual);
update WDZX.CBondAnalysisCSI set trade_dt = (select to_char(sysdate,‘yyyymmdd’) as trade_dt from dual);
commit;
end;

– 调用方式
begin
update_trade_dt;
end;


– schedules(调度)
– 查询当前已经创建的schedules,可以通过*SCHEDULER_SCHEDULES视图(含DBA,ALL_,USER_),例如,查看当前用户拥有的schedules,执行语句如下:
select schedule_name,repeat_interval from user_scheduler_schedules;

– 创建schedules
begin
DBMS_SCHEDULER.CREATE_SCHEDULE (
schedule_name => ‘update_trade_dt_schedule’,
start_date => SYSDATE,
repeat_interval => ‘FREQ=Daily; INTERVAL=1’,
comments => ‘Every 1 day’);
END;

–至于删除schedule,再简单不过,执行DBMS_SCHEDULER.DROP_SCHEDULE过程即可,例如:
SQL> EXEC DBMS_SCHEDULER.DROP_SCHEDULE(‘MY_FIRST_SCHEDULE’);

PL/SQL procedure successfully completed.


– Programs (执行某项功能的特殊对象)
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name => ‘update_trade_dt_program’,
program_type => ‘STORED_PROCEDURE’,
program_action => ‘update_trade_dt’,
enabled => true);
END;


–Jobs(所谓JOBS,其实就是Scheduler管理的一个(或多个)任务的执行调度。)
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => ‘update_trade_dt_job’,
program_name => ‘update_trade_dt_program’,
schedule_name => ‘update_trade_dt_schedule’,
enabled => true);
END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值