文档章节

存储过程

海贼爱音乐
 海贼爱音乐
发布于 2017/08/16 16:24
字数 228
阅读 3
收藏 0
点赞 0
评论 0
  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;

© 著作权归作者所有

共有 人打赏支持
海贼爱音乐
粉丝 1
博文 87
码字总数 22611
作品 0
广州
CEO

暂无相关文章

思路分析 如何通过反射 给 bean entity 对象 的List 集合属性赋值?

其实 这块 大家 去 看 springmvc 源码 肯定可以找到实现办法。 因为 spirngmvc 的方法 是可以 为 对象 参数里面的 list 属性赋值的。 我也没有看 具体的 mvc 源码实现,我这里只是 写一个 简...

之渊 ⋅ 34分钟前 ⋅ 0

vim使用手册--配对括号的查找

1、把光标放在标记有(、[或{处。 2、按%字符 3、此时光标的位置应当在配对的括号处 4、再次按%就可以跳回配对的第一个括号处。

dragon_tech ⋅ 38分钟前 ⋅ 0

c++ 、object-c printf,%02X和%x有什么区别 ?

%x即按十六进制输出,英文字母小写,右对齐。 %02X有以下变化:英文字母变大写,如果输出字符不足两位的,输出两位宽度,右对齐,空的一位补0。超过两位的,全部输出。 如果不用 %02x 会出现...

yizhichao ⋅ 43分钟前 ⋅ 0

Spring源码解析(七)——实例创建(中)

前言 上一节讲到了,Spring 会根据实例的作用域执行不同的创建逻辑,分别是 Singleton、Prototype、其他 Scope,其中 Singleton 会调用 getSingleton 从缓存中获取,缓存中没有才会创建实例;...

MarvelCode ⋅ 43分钟前 ⋅ 0

Thrift RPC实战(六) spring集成thrift

1.服务端设置 对泛型Thrift Service的支持, 通过采用spring配置以及反射的方式来实现.对于一个服务提供者来说,需要提供端口,接口以及接口实现类,因此在接口中spring配置文件中配置如下 <!...

lemonLove ⋅ 45分钟前 ⋅ 0

oracle11g自动分区使用

为什么使用自动分区? 在oracle11g之前,oracle是不支持自动分区功能的,这就可能导致我们系统在运行一段时间之后,就需要看看分区是否创建或者写触发器进行创建分区,否则就会导致数据无法入...

strict_nerd ⋅ 57分钟前 ⋅ 0

Spring mvc ViewResolver视图解析器实现机制

概要 我们在controller里面经常这样return一个ModelAndView。 return new ModelAndView("userList", "users", userList); DispatcherServlet 靠 ViewResolver 把 userList 解析为 /WEB-INF......

轨迹_ ⋅ 今天 ⋅ 0

策略模式

1.策略模式 策略模式是同一个行为的不同处理办法。策略模式和简单工厂模式的区别:1.策略模式主要是方法的执行方式,工厂模式要获取的对象。两者的侧重点不同。 ...

Cobbage ⋅ 今天 ⋅ 0

行政区划代码转为字典形式

原数据为: http://www.mca.gov.cn/article/sj/xzqh/2018/201804-12/201804-06041553.html 手动替换了一下格式,并使用下面的代码处理. # 输入格式s = """110000:北京市110101:东城区1101...

漫步海边小路 ⋅ 今天 ⋅ 0

android apk 签名

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把...

国仔饼 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部