2011年9月14日

如何建立Oracle(PL/SQL) Function

 

在 Oracle, 你可以建立自己的Function.

function 的語法:

CREATE [OR REPLACE] FUNCTION function_name
[ (parameter [,parameter]) ]
RETURN return_datatype
IS | AS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [function_name];

當建立一個 function 或procedure時可以定義參數. 參數有三種:

  1. IN –該參數可以在function 或procedure參考使用. 但function 或procedure不能修改該參數值.
  2. OUT - 該參數無法在function 或procedure參考使用. function 或procedure可以設定該參數值.
  3. IN OUT - 該參數可以function 或procedure參考使用, 也可以設定該參數值.

底下是一個例子:

CREATE OR REPLACE Function FindCourse
( name_in IN varchar2 )
RETURN number
IS
cnumber number;

cursor c1 is
select course_number
from courses_tbl
where course_name = name_in;

BEGIN


open c1;
fetch c1 into cnumber;

if c1%notfound then
cnumber := 9999;
end if;

close c1;

RETURN cnumber;

EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;

沒有留言:

張貼留言