oracle 函数的创建和调用

以下已经测试通过

创建函数:

create or replace function get_annual_sal(in_name varchar2) return number
is
annual_sal number(9,1);
begin
  select 16*t.salary-10000 into annual_sal from t_employee t where name=in_name;
  return annual_sal;
end;

1. 在PLsql中测试函数的运行结果

select get_annual_sal('李红') from dual;

执行结果

 

2. 用PLsql中的sql语句调用函数

begin
  dbms_output.put_line(get_annual_sal('李红'));
end;

然后在Output选项卡中可以看到输出结果:

 

 

 

以下没有测试过

oracle11g调用函数的几种方法

----1. 该函数接受3个可选参数,返回3个数字的和
  CREATE OR REPLACE FUNCTION add_three_numbers
  (
  a NUMBER:=0, b NUMBER:=0, c NUMBER:=0
  )
  RETURN NUMBER IS
  BEGIN
  RETURN a+b+c;
  END;
  ----调用FUNCTION add_three_numbers
  ----1. 位置表示法调用函数
  BEGIN
  dbms_output.put_line(add_three_numbers(2,4,5));
  END;
  ----2. 命名表示法调用函数
  BEGIN
  dbms_output.put_line(add_three_numbers(b=>3, a=>4,c=>2));
  END;
  ----3. 混合使用位置表示法和命名表示法调用函数
  BEGIN
  dbms_output.put_line(add_three_numbers(3, b=>4,c=>2));
  END;
  ----4. 排除表示法
  BEGIN
  dbms_output.put_line(add_three_numbers(12,c=>2));
  END;
  ----5. sql调用表示法 --混合表示法
  SELECT add_three_numbers(3, b=>4,c=>2) FROM DUAL;

 

 

posted @ 2013-10-10 22:25  jmStatham  阅读(10332)  评论(0编辑  收藏  举报