各位大虾,在oracle数据库中我想用plsql弄一个定时删除器怎么弄啊

各位大虾,在oracle数据库中我想用plsql弄一个定时删除器怎么弄啊,第1张

首先确认你数据库有几个如果有几个则需要设置,打开plsql

,tools--》preferences,选中左边第一项“connection”,右边的配置栏中,下面oracle

home

设置为你想连接的数据库。

如果你只有一个库,那么尝试做以下 *** 作。打开服务查看相关的监听服务有没有开启。如果开启还是出现这个问题,那么确认一下你的电脑名或者配置的虚拟网卡ip是否做过改动,如果改动,数据库需重新建立。

如果没有上述问题,请在net

manager

中看一下oracle的服务名,端口号,服务地址是否配置正确。监听服务中主机名、端口号是否配置正确。都正确还是出错,那么建议关闭监听服务,删除原监听重新建立监听。

使用pl/sql developer 可以很容易添加定时执行的Oracle存储过程

一个例子:

Sql代码

begin

sys.dbms_job.submit(job =>:job,

what =>'RATING.JOB_PRESS',

next_date =>to_date('01-01-4000', 'dd-mm-yyyy'),

interval =>'TRUNC(SYSDATE+1)')

sys.dbms_job.broken(job =>:job,

broken =>true,

next_date =>to_date('01-01-4000', 'dd-mm-yyyy'))

commit

end

用触发器实现不是不行,但是存在效率问题。

建议写个存储过程,再建立一个job每天晚上运行一次。

create or replace produce autoDel as

begin

delete from yourtable where 是否激活='N' and 注册时间<sysdate-7

end

在用建立job

variable job1 number

begin

sys.dbms_job.submit(job =>:job,

what =>'autoDel',

next_date =>to_date('01-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),

interval =>'sysdate+1')每天运行过程一次

commit

end


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6729308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存