Oracle 自定义函数Function

时间:2023-03-08 19:15:29

示例代码:

  1. CREATE OR REPLACE  FUNCTION "MY_DATABASE"."F_GET_USER_COUNT_BY_DEPART"
  2. (
  3. DEPART_ID_VAL in long
  4. )
  5. return varchar2
  6. is
  7. USER_STATE varchar(16);
  8. USER_COUNT number;
  9. begin
  10. select count(*) into USER_COUNT from TB_USER_INFO where DEPART_ID=DEPART_ID_VAL;
  11. if USER_COUNT > 0 then
  12. USER_STATE:='该部门下有用户';
  13. else
  14. USER_STATE:='该部门下无用户';
  15. end if;
  16. return (USER_STATE);
  17. end;

解释:

  1. CREATE OR REPLACE  FUNCTION "数据库名称"."函数名"
  2. (
  3. 参数一 [in,out] 类型,
  4. 参数二 [in,out] 类型,
  5. ...
  6. )
  7. return 返回值类型
  8. is
  9. 变量一 类型;
  10. 变量二 类型;
  11. ... ;
  12. begin
  13. /*给变量赋值的过程*/
  14. return (变量一或变量二或...);
  15. end;
Oracle 自定义函数Function

例子:

CREATE OR REPLACE FUNCTION getbusinessname(pJBusinessType varchar)
            return varchar
            is pBusinessTypeName  varchar(80);
       begin
           select TypeName into pBusinessTypeName
           from BUSINESS_TYPE
           where TypeNo=pJBusinessType;
           return pBusinessTypeName;
      end;

  1. 参数有两种类型,in或者out;可以创建不带参数的函数;
  2. 多个参数之间用“,”隔开;多个变量之间用“;”隔开;