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;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM