请问各位老师,我编好了一个oracle语句,想让他每天根据当天时间明天自动运行,如何实现啊?在线求助
发布网友
发布时间:2022-04-08 19:42
我来回答
共4个回答
热心网友
时间:2022-04-08 21:12
--创建job
variable myjob number;
begin
--每天1440分钟,即一分钟运行proc过程一次
dbms_job.submit(:myjob,myproc;',sysdate,'sysdate+1/1440');
end;
/
--运行job
begin
dbms_job.run(:myjob);
end;
/
--删除job
begin
dbms_job.remove(:myjob);
end;
/
热心网友
时间:2022-04-08 22:30
也不写一下是什么语句,什么环境,很难回答
我们的linux服务器通常都是这样做的,给你参考
例如:
sql: update xxx set status=1 where create_time>sysdate-1;
在数据库里面建存储过程:
create or replace proceres test as
begin
update xxx set status=1 where create_time>sysdate-1;
commit;
end;
在服务器端写个脚本test.sh,要在里面加上环境变量
sqlplus <<EOF
connect oracle/oracle
execute test;
exit;
EOF
挂crontab任务
crontab -e
2 7 * * * /data/oracle/test.sh >> /data/oracle/test.log 2>&1
热心网友
时间:2022-04-09 00:04
如果是存储过程可以把它放在job里运行,如果是命令可以做成bat文件放在系统的任务计划里面每天运行
热心网友
时间:2022-04-09 01:56
写成shell脚本