pl/sql编程(四)存储过程、包
来源:互联网 发布:噪声分析软件 编辑:程序博客网 时间:2024/05/22 15:04
存储过程
过程用于执行特定的操作。当建立过程时,即可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以将数据传递到执行部分;通过输出参数,可以将执行部分的数据传递到应用环境。
可以使用create or replace procedure命令来创建过程。
实例1
①请编写一个过程,可以输入雇员名,新工资,用以修改该雇员的工资
②如何调用过程?(2种方法) ---> exec、call
③如何在java、.net中调用储存过程
create or replace procedure(name varchar2, newSal number) example3 is
--定义变量部分放在is和begin之间
begin
--执行部分
--根据用户名修改工资
update emp set sal=newSal where ename=name;
end;
上例子:例子一:
create or replace procedure ChangeAvgsalpro(d_deptno in number) is type cur_type is ref cursor; cur cur_type; avgSal number(15,2); emp_row emp%rowType;begin open cur for select * from emp where emp.deptno=d_deptno; select avg(sal) into avgSal from emp where emp.deptno=d_deptno; loop fetch cur into emp_row; exit when cur%notfound; if emp_row.sal<avgSal then update emp set sal=avgsal where emp.empno=emp_row.empno; end if; end loop; commit;end ChangeAvgsalpro;-----测试:declare begin changeavgsalpro(10); end;例子二:
create or replace procedure Procedure_1(d_deptno in number,result out mypackage.cur_type) isbegin open result for select e.empno,e.ename,e.sal,a.s,e.sal-a.s nsal from emp e , (select avg(sal) s,deptno from emp where emp.deptno=d_deptno group by deptno)awhere e.deptno=a.deptno ;end Procedure_1;-----包:create or replace package mypackageis type cur_type is ref cursor;end mypackage;------------------------测试:-- Created on 2015/8/26 by ADMINISTRATOR declare cur mypackage.cur_type; type rec is record(e_empno number(15),e_ename varchar2(20),e_sal number(15,2), avgsal number(15,2),nsal number(15,2)); result rec;begin procedure_1(20,cur); loop fetch cur into result; exit when cur%notfound; dbms_output.put_line(result.e_empno||':'||result.nsal); end loop;end;
0 0
- pl/sql编程(四)存储过程、包
- oracle中pl/sql编程---存储过程,函数,触发器,包
- Orcale PL/SQL 函数,存储过程,包的入门编程
- PL/SQL存储过程编程
- PL/SQL存储过程编程
- PL/SQL存储过程编程
- oracle(3)pl/sql编程基础 存储过程、函数、包、触发器
- --pl/sql包,游标,存储过程,块
- PL/SQL 基础---函数、存储过程、包
- (转)PL/SQL存储过程编程 概要
- PL-SQL 编程(二)游标、存储过程、函数
- Oracle存储过程-pl/sql编程
- PL/SQL程序设计之存储过程和存储函数(四)
- pl/sql 存储过程
- PL/SQL --> 存储过程
- PL/SQL存储过程
- PL/SQL存储过程
- Pl/sql 存储过程
- sqlserver性能调优方法论
- UIAlertController的使用以及对字体颜色大小的修改
- QT 模仿Android游戏中虚拟摇杆(1)让摇杆跟着鼠标飞
- easyui 动态添加空间无法渲染 $.parser.parse()无效
- 记录redis相关
- pl/sql编程(四)存储过程、包
- 坚持#第19天~
- hosts老D博客
- 网络编程之TCP应用
- 【Unity】GUI之GUIStyle与GUISkin
- Android-WebView在ScrollView中高度不稳定末尾有大段空白问题解决
- php002-基础知识01
- Linux Shell数据重定向
- 修改smali文件,重打包实现修改程序流程