在 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時可以定義參數. 參數有三種:
- IN –該參數可以在function 或procedure參考使用. 但function 或procedure不能修改該參數值.
- OUT - 該參數無法在function 或procedure參考使用. function 或procedure可以設定該參數值.
- 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;
沒有留言:
張貼留言