文档章节

存储过程

海贼爱音乐
 海贼爱音乐
发布于 2017/08/16 16:24
字数 228
阅读 4
收藏 0

精选30+云产品,助力企业轻松上云!>>>

  1. 存储过程
create or replace procedure hello(empid in number)
is
  pname varchar2(20);
  psal employees.salary%type;
begin
  select first_name,salary into pname,psal from employees where employee_id=empid;
  update employees set salary=salary+1000 where employee_id=empid;
  dbms_output.put_line('员工'||pname||'现在工资为'||(psal+1000));
end;

一般不在存储过程和函数中commit和rollback,而是在调用时commit。

begin
  hello(105);
  commit;
end;
  1. 调试

sys as sysdba 超级管理员登录
alter user hr identified by test account unlock 解锁hr账号并修改密码为test
grant debug connect session,debug any procedure to hr; 授权hr用户调试

  1. 存储函数
create or replace function hello2(empid in number)
return number
is
  psal employees.salary%type;
  pcomm employees.commission_pct%type;
begin
  select salary,commission_pct into psal,pcomm from employees where employee_id=empid;
  return psal*12+nvl(pcomm,0);
end;

调用

declare
  v_test number;
begin
  v_test:=hello2(104);
  dbms_output.put_line(v_test);
end;
  1. 异常(no_data_found、too_many_rows、value_error)
declare
pename emp.ename%type;
begin
  select ename into pename from emp where empno=666;
exception
  when no_data_found then dbms_output.put_line('没有找到');
  when others then dbms_output.put_line('其他');
end;
上一篇: SQL执行顺序
下一篇: 面向对象
海贼爱音乐
粉丝 1
博文 82
码字总数 19507
作品 0
广州
CEO
私信 提问
加载中
请先登录后再评论。

暂无文章

Java知识点--卫语句

在《阿里巴巴Java开发手册》中强制规定:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,其中卫语句即代码逻辑先考虑失败、异常、中断、退出等直接返回的情...

HLee
29分钟前
9
0
实施与扩展:何时使用? 有什么不同? - Implements vs extends: When to use? What's the difference?

问题: 请用一种易于理解的语言或一些文章的链接进行解释。 解决方案: 参考一: https://stackoom.com/question/jTkh/实施与扩展-何时使用-有什么不同 参考二: https://oldbug.net/q/jTkh/...

技术盛宴
30分钟前
3
0
剑指offer之队列中的最大值(C++/Java双重实现)

1.题目描述 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回...

osc_jvzgahav
32分钟前
5
0
JAVA-过滤器和拦截器1

1、过滤器 (Filter) 过滤器的配置比较简单,直接实现 Filter 接口即可,也可以通过 @WebFilter 注解实现对特定 URL 拦截,看到 Filter 接口中定义了三个方法。 init() :该方法在容器启动初始...

osc_hinb5m98
33分钟前
15
0
模拟红包算法(基于BigDecimal、DecimalFormat、Random类)

基于BigDecimal、DecimalFormat、Random实现模拟红包算法 RedPacket 类 import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.ArrayList;import java.util.Rand......

osc_ml6lx2h4
35分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部