博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

从概念到示例—Oracle操作函数

Posted on 2011-09-05 13:19  sunjie  阅读(141)  评论(0编辑  收藏  举报

函数:
 1.使用Create Function 语句创建
 2.语法:
     Create or replace Function  函数名[参数列表]
     Return  数据类型 IS|AS
            局部变量
     Begin 
            可执行语句
     end;
 3.访问函数
    -用两种方式进行访问
        使用PL/SQL块
        使用SQL语句
    -仅接受In参数
示例:
 create or replace function GetName(sNo varchar2) 
 return  varchar Is  --不能指定精度
    name varchar(12);
 Begin
    select ename into name from emp
    where empno=sNo;
     return name;
 Exception
    when Too_many_rows then
      DBMS_output.put_line('返回值多余一条');
    when Others then
       DBMS_output.put_line('在执行函数GetName时出现意外错误!');
 End;
/

调用
declare
 name varchar(12);
begin
   name:=getname('7369');
   DBMS_output.put_line('结果为:'||name);
end;
/

数据字典:user_source   
编译时出错的数据字典:user_errors;
或 show errors;
select * from user_source from where name='GETNAME';  --注意大写

过程与函数

过程                                                            函数
作为PL/SQL语句执行                         作为表达式的一部分调用
在规格说明中不包含Return字句        必须在规格说明中包含Return字句;
可以返回任何值                                  必须返回单个值
可以包含Return语句,但是与函数    必须包含至少一条Return语句
不同,它不能用于返回值