码迷,mamicode.com
首页 > 数据库 > 详细

oracle自定义函数

时间:2018-02-13 15:38:44      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:格式   模式   ora   data   只读   schema   删除   系统内置函数   sch   

一、自定义函数创建
语法格式:
  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自定义函数

标签:格式   模式   ora   data   只读   schema   删除   系统内置函数   sch   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!