dbms_java 包不存在_Oracle的sql开发之包技术实战

前言: 包(package)的主要作用是用于逻辑组合相关的pl/sql类型,比如记录类型或者集合类型,pl/sql游标或者游标声明以及pl/sql子程序,还可以包含任何可以在块的声明区中定义的变量。一旦创建了一个包,包就会被存储在Oracle数据库中。可以将包放到共享池中,以便被多个应用程序共享和调用。一个pl/sql包包括包规范和包体两部分。平时调试经常使用的dbms_output就是oracle的一个系统包。

一>一个简单的包的包规范和包体小例子create or replace package emp_pkg as

-----定义集合类型

type emp_tab is table of emp%rowtype index by binary_integer;

-----在包规范中定义一个记录类型

type emprectyp is record(emp_no number,sal number);

----定义一个游标申明

cursor desc_salary return emp;

----定义雇佣员工的过程

procedure hire_employee(p_empno number,p_ename varchar2,p_job varchar2,p_mgr number,p_sal number,p_comm number,p_deptno number);

-----定义解雇员工的过程

procedure fire_employee(p_emp_id number);

end emp_pkg;

create or replace package body emp_pkg

as

-----定义游标申明的游标体

cursor desc_salary return emp is select * from emp order by sal desc;

-----定义雇佣员工的具体实现

procedure hire_employee(p_empno number,p_ename varchar2,p_job varchar2,p_mgr number,p_sal number,p_comm number,p_deptno number) is

begin

insert into emp (empno) values('3360');

end;

----定义解雇员工的具体实现

procedure fire_employee(p_emp_id number) is

begin

----从emp表中删除员工信息

delete from emp where empno=p_emp_id;

end;

end emp_pkg;

二>dbms_job包创建定时任务使用

create table t(

id varchar2(30),

name varchar2(30)

);

create or replace procedure proce_t is

begin

insert into t(id, name) values('1', to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'));

commit;

end proce_t;

/

declare

jobno number;

begin

dbms_job.submit(jobno,'proce_t;',sysdate,'sysdate+1/24/60');

commit;

end;

select * from user_jobs;

select * from t;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值