oracle自定义函数

Posted 根须

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    
 解析:
    or replace:是否覆盖,可选
    function_name:函数名称
    return 自居:指定函数的返回类型,不能指定大小
    local_declarations:局部变量声明,可选
    function_body:要执行的PL-SQL语句
    
    
    
    参数模式有3种(如果没有注明,参数默认的类型为in)
        in:为只读模式,在函数中,参数的值只能被引用,不能被改变
       out:为只写模式,只能被赋值,不能被引用
    in out:可读可写
 
示例1:
    --根据机构编号查询机构名
    CREATE OR REPLACE FUNCTION GET_ORG_NAME(P_ORG_ID IN NUMBER) RETURN VARCHAR2 IS
         V_ORG_NAME VARCHAR2(4000);
    BEGIN
         SELECT 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);
三、自定义函数的删除
    自定义函数的删除方法类似于表的删除,语法格式如下:
    drop function [schema.]functionName;

 

以上是关于oracle自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段8——声明函数

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

oracle 自定义函数传参可以判断值么

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段(vue主模板)