Oracle的自定义函数
在Oracle数据库中,为了实现特定的功能,可以自定义函数,就像C/C++语言,除了系统的库函数,程序员还会编写很多自定义的函数。
创建函数
语法格式:
1 | create or replace function 函数名(参数1 模式 数据类型,......) return 数据类型 |
- 参数的模式有三种:
- in:只读模式,在函数中,参数只能被引用/读取,不能改变它的值。
- out:只写模式,参数只能被赋值,不能被引用/读取。
- in out:可读可写。
参数的模式可以不写,缺省为in,out和in out两种模式极少使用。
- as/is二选一,在这里没有区别。
- 可以不定义局部变量。
- 可以没有异常(exception)处理代码段。
如下是一个示例:
1 | function JudgeExist(p_budgetid in varchar2) return number |
函数的调用
自定义函数的调用与Oracle数据库自带的函数调用的方法相同。
1 | select JudgeExist('123') from dual; |
在存储过程中也可以调用。
1 | procedure AddProjectBuget(p_returnValue out number, |
删除自定义函数
语法格式:
1 | drop function 函数名; |
例如:
1 | drop function JudgeExist; |
------ 本文完 ------