oracle 存储过程实践--查询ID后根据ID更新表内容

本文介绍了如何在Oracle数据库中创建存储过程,用于查询sj字段小于当前日期的uf_accountrem表记录ID,并根据这些ID更新其他字段为null。首先,通过SQL查询获取符合条件的ID,然后编写并测试存储过程确保其正确运行。接着,利用dbms_scheduler创建定时任务进行周期性执行,详细阐述了定时任务的参数配置,特别是repeat_interval参数的设置。
摘要由CSDN通过智能技术生成

背景:项目表中有个结束日期的字段,需要根据这个字段,把大于当前日期的其他字段参数给更新为空;

查询sql: select id from uf_accountrem where sj<to_char(sysdate,'yyyy-mm-dd');

创建存储过程示例:

create or replace procedure t_gxkwxt is
        cursor vid is
                select id from uf_accountrem where sj<to_char(sysdate,'yyyy-mm-dd');
 ---cursor是显示游标,创建显示游标vid,赋予值为select的内容;           
begin
        for row_b in vid loop
----for为循环游标,执行游标内容
          update uf_accountrem set BLYX='',bz='',sj='' where id in(row_b.id);                                      
        end loop;
    commit;
end;
    

尝试在plsql测试存储过程,确认存储过程是否正常运行;

确认正常后,创建job定时任务,(dbms_job与dbms_scheduler有着oracle版本上的区别,oracle11G以上建议是使用dbms_scheduler方法)

----begin为开始头,end为结束
begin
DBMS_SCHE
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值