极度郁闷,有一段时间没登陆51了,今天回来竟然把提示问题给弄丢了,猜了半个小时才猜出来。。。。

数据库之函数

上一篇 / 下一篇  2010-01-07 08:20:30 / 个人分类:Oracle

函数与过程相似,也是数据库中存储的已命名 PL/SQL 程序块.
函数的主要特性是它必须返回一个值.创建函数时通过 return 子句指定函数返回值的数据类型.

--创建函数格式(创建函数必须指定函数的返回值类型)

create [or replace] function function_name [(parameter1, parameter2...)]
return datatype
{is | as}

begin
Executable_Statements;

Exception_handlers;]
end;

--示例一

create or replace function fun_hello
return varchar2
is
begin
return '朋友,您好';
end;
/

select fun_hello from dual;  --执行函数

--示例二

create or replace function emp_price_range(sal number)
return varchar2
as
min_sal number;
max_sal number;
begin
  select min(sal), max(sal) into min_sal, max_sal from emp;
  if sal >= min_sal and sal <= max_sal then
    return '输入的工资介于最低工资与最高工资之间';
  else
    return '超出范围';
  end if;
end;
/

set serveroutput on;
declare
p number := 5500;
msg varchar2(50);
begin
  msg := emp_price_range(p);
  dbms_output.put_line(msg);
end;
/

/*
declare
msg varchar2(50);
begin
  msg := emp_price_range(&p);
  dbms_output.put_line(msg);
end;
*/

--函数授权

grant execute on fun_hello to martin;

grant execute on fun_hello to public;

--删除函数

格式: drop function function_name;

示例:drop function fun_hello;

TAG: 数据库 函数 自定义

 

评分:0

我来说两句

Open Toolbar