码迷,mamicode.com
首页 > 数据库 > 详细

Oracle存储过程及函数

时间:2014-11-23 10:32:23      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:io   ar   sp   strong   on   cti   bs   amp   line   

1.在Oracle中,存储过程包括三部分组成:定义部分、执行部分、和异常处理部分(即例外)

eg1:输入员工编号,查询员工的姓名和薪资

create or repalce  procedure mypro2 is

declare --定义部分,定义变量和常量等,变量定义一般以V_开头,常量定义一般以C_开头

v_ename varchar2(20);

v_sal number(7,2);

begin--执行部分

select ename,sal into v_ename,v_sal from emp where empno=&no;

dbms_output.put_line(‘员工的姓名是:‘||v_ename||‘工资是‘||v_sal);

exception--异常处理部分

when no_data_found then

dbms_output.put_line(‘您输入的员工编号不存在‘);

end;

eg2:带参数的存储过程

--输入员工的姓名和新的薪资,根据姓名改薪资

create or replace procedure mypro2(pename varchar2,psal number) is

begin

update emp set sal=psal where ename=pename;

end;

存储过程的调用方法:

a:exec mypro1()或者call mypro1();

b:exec mypro1(‘SCOTT‘,1200)或者call mypro1(‘SCOTT‘,1200);

2.函数

函数必须有返回值的

结构如下:根据雇员名称求年薪

create or repalce function myfun1(fename varchar2) return number is yearsal nunber;

begin

select sal*12+nvl(comm,0) into yearsal from emp where ename=fename;

return yearsal;

end;

函数的调用方法:

SQL> var ys number;
SQL> call myf1(‘SCOTT‘) into:ys;

 

Oracle存储过程及函数

标签:io   ar   sp   strong   on   cti   bs   amp   line   

原文地址:http://www.cnblogs.com/wangyinggang/p/4116198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!