Oracle自定义函数及应用举例(不同输入输出参数情况)
2017-04-30 15:00
309 查看
Oracle自定义函数
以下为例子:
博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。
函数的定义: create/replace function 函数名 (参数名 输入输出类型 字段类型) return 字段类型 is 变量名 字段类型; --函数的内部变量,需要包含字段类型的长度 begin 主体; return(变量名); end 函数名; 观察到: 定义函数的参数和输出类型的时候不需要考虑字段类型的长度; 函数的内部变量需包含字段类型的长度; 函数可以没有输入输出参数,但一定要有返回(return)的数据类型,因此必须有内部变量存储return的数据; 函数的输入输出参数可以在主体中直接使用。 函数的执行: --sqlplus var 变量名 字段类型(包含长度); exec :变量名:=函数名(参数的值,接收输出变量的变量名) --developer select 函数名(参数) from dual;
以下为例子:
--没有输入输出参数的函数 create function fun_emp01 return nvarchar2 is myresult nvarchar2(50); begin select max(first_name) into myresult from employees; return(myresult); end fun_emp01; --执行 select fun_emp01() from dual; --只带输入参数 create function fun_emp03(myvar1 in nvarchar2) return number is myresult number; begin select count(1) into myresult from employees where job_id=myvar1; return(myresult); end fun_emp03; --执行 select fun_emp03('AD_VP') from dual; --带输入和输出 create or replace function fun_emp04(chlvar0 nvarchar2, chlvar out number) return nvarchar2 is myresult nvarchar2(50); begin select max(first_name),count(1) into myresult,chlvar from employees where job_id=chlvar0; return(myresult); end fun_emp04; --执行 declare var2 nvarchar2(50); var3 number; begin var2:=fun_emp04('IT_PROG',var3); dbms_output.put_line(var3); dbms_output.put_line(var2); end;
博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。
相关文章推荐
- 当用数组名作函数参数时,情况则不同。由于实际上形参和实参为同一数组,因此当形参数组发生变化时,实参数组也随之
- 自定义Oracle 函数,传入参数,实现简单的功能
- imshow()函数:参数是不同类型的情况
- [windows c]关于指针函数和参数可变函数同时应用情况的疑问
- va_start,va_arg,va_end,va_list应用举例--实现可变参数的函数
- Oracle不支持在select语句中调用自定义函数时使用自定义类型作参数?
- OLTP,OLAP和混合应用下oracle默认的不同的参数设置
- .Net反射技术应用解决对象不同版本方法不同参数的问题
- Oracle中怎样使用JAVA函数及自定义函数
- 变长参数应用举例
- Oracle自定义函数——f_henry_GetStringLength
- *函数参数传递类的类型,在函数内部动态创建不同类型的实例
- Oracle自定义函数——f_henry_ConcatRowsByColumn
- 通常情况下你想通过函数参数获取一段动态分配的内存时需要用到
- .Net反射技术应用解决对象不同版本方法不同参数的问题
- ORACLE分析函数--row_number()应用
- 关于Oracle中split函数的实现以及函数递归的举例。
- Oracle中提取sysdate函数值和系统日期不同的情况处理
- Hibernate 针对 Oracle 特有函数及自定义函数的实现办法
- 粒子群优化算法在复杂函数参数估计中的应用