首页 / ORACLE / oracle存储过程与job
oracle存储过程与job
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle存储过程与job,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2851字,纯文字阅读大概需要5分钟。
内容图文
![oracle存储过程与job](/upload/InfoBanner/zyjiaocheng/489/5a90345b07374a529beff53c5a05f51d.jpg)
create or replace procedure 名字(参数(可有可无))
as .....
begin
...........
end;
例子:
1:创建一个无参数的名为test_job的存储过程,作用是像表里添加系统时间
create or replace procedure test_job
as
begin
insert into t_job values(sysdate);---向表里添加数据
end;2:创建一个名为test_user的存储过程,具体设置图下,红字为解释
create or replace procedure test_user(username1 in varchar2(25)) --参数为username1,in代表是输入参数,参数的数据类型和长度
as vs_username VARCHAR2(4000); --as后面可以定义变量,定义的变量可以在下面自定义的sql中引用 ;
begin --自定义的sql功能开始
select username into vs_username from t_user where username=username1; --将表中查出的username字段的值付给自定义的变量vs_username,into是oracle的一个关键字
DBMS_OUTPUT.PUT_LINE(vs_username);--将结果打印输出
end; --自定义的sql功能结束
查看定义的存储过程:
select * from user_objects where object_type=‘PROCEDURE‘; -- 可以查看自定义的存储过程
=============================job===================================
job是oracle本身自带的一个功能,可以自定义job,指定什么时候执行存储过程,定义好之后会存入内置的表里,根据定义的时间来执行存储过程
定义的格式:
declare
job1 number; --指定名字
begin
dbms_job.submit(job1, ‘test_job;‘, sysdate, ‘sysdate+5/1440‘);--制定名字,要执行的存储过程,时间格式,具体的时间设置,这里是每5分钟执行一次存储过程
end;查看定义好的job:
select * from dba_jobs;--所有的job,管理员用户下的查询
select * from user_jobs;--个人用户下的查询
select * from dba_jobs_running;--查询正在运行的job,这个有待确认
这样定义好job之后,我们定义的存储过程就会根据定义的job定期执行。
====================小例子开始===============================
create table t_job(a date);--创建表
--创建存储过程
create or replace procedure test_job
as
begin
insert into t_job values(sysdate);---向表里添加数据
end;
--定义job
declare
job1 number;
begin
dbms_job.submit(job1, ‘test_job;‘, sysdate, ‘sysdate+5/1440‘);--每5分钟执行一次,定义完后job就是运行的
end;
select * from t_job; ---可以每隔5分钟查看一次表里看看有没有增加数据
====================小例子结束===============================
下面是对job的一些操作
--=============停止job==============
begin
dbms_job.broken(25,false);--true == y =停止,false ==N =执行
end;
/
--===============删除job=============
begin
dbms_job.remove(24);
end;
/
--================更改job时间========
begin
dbms_job.Interval(25, ‘sysdate+5/1440‘);--更改指定job的时间设置
end;
/
这里只写了broken/remove/Interval三个方法
更多方法和job表结构请看:http://www.cnblogs.com/xueershewang/p/7354936.html
时间的设置请看:http://www.cnblogs.com/xueershewang/p/7355286.html
oracle存储过程与job
标签:长度 运行 where 时间设置 proc objects object 就会 存储过程
本文系统来源:http://www.cnblogs.com/xueershewang/p/7355268.html
内容总结
以上是互联网集市为您收集整理的oracle存储过程与job全部内容,希望文章能够帮你解决oracle存储过程与job所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。