当前位置:首页 > 数据库 > Oracle

oracle自定义函数

                一、自定义函数创建
语法格式:
  
                create
                [
                or replace
                ]
                function function_name/*函数名称*/
  (/*参数定义部分*/
         parameter_name1 model1 dataType1,
         parameter_name2 model2 dataType2,
         parameter_name3 model3 dataType3,
         ....
    ) 
    return return_datatype /*定义返回值类型*/IS/AS[local_declarations]/*声明临时变量*/BEGIN
           function_body/*函数体部分*/return scalar_expression/*返回语句*/END function_name;
    
 解析:
    orreplace:是否覆盖,可选
    function_name:函数名称
    return 自居:指定函数的返回类型,不能指定大小
    local_declarations:局部变量声明,可选
    function_body:要执行的PL-SQL语句
    
    
    
    参数模式有3种(如果没有注明,参数默认的类型为in)
        in:为只读模式,在函数中,参数的值只能被引用,不能被改变
       out:为只写模式,只能被赋值,不能被引用
    in out:可读可写
 
示例1:
    --根据机构编号查询机构名CREATEORREPLACEFUNCTION GET_ORG_NAME(P_ORG_ID INNUMBER) RETURNVARCHAR2IS
         V_ORG_NAME VARCHAR2(4000);
    BEGINSELECT ORG_NAME INTO V_ORG_NAME FROM SYS_ORG WHERE ORG_ID = P_ORG_ID;
         RETURN(V_ORG_NAME);
    END GET_ORG_NAME;
                二、自定义函数调用
    自定义函数的调用方法跟系统内置函数的调用方法相同,可以直接在select语句中调用,也可以在函数中调用,如下:
    
                select GET_ORG_NAME(20) from SYS_ORG;
    str :=GET_ORG_NAME(20);
三、自定义函数的删除
    自定义函数的删除方法类似于表的删除,语法格式如下:
    dropfunction[schema.]functionName;

 

原文:https://www.cnblogs.com/s-d-g/p/8446593.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!