• Oracle创建函数


    创建函数:

    语法:
      create [or replace] function 函数名 [(参数名1 [in/out/inout] 参数类型 ,...)]
        return 返回值的类型
      as/is
        变量声明部分
      begin
        业务逻辑处理部分
        return 变量/常量;
       -- 按位置传递参数
        call pro_sum_test(1,2,3);
       -- 按名称的方式传递参数
        call pro_sum_test(v_num2=>2,v_num1=>1,v_num3=>3);
       -- 按名称的方式传递参数
        call pro_sum_test(v_num2=>2,v_num1=>1,v_num3=>3);
       -- 混合传递参数 必须先按位置 再按名称传递
        call pro_sum_test(1,v_num3=>3,v_num2=>2);
       -- 不能先按名称 再按位置传递
        call pro_sum_test(v_num2=>2,v_num1=>1,3);exception
        异常处理部分
      end;
    注意:同形参类型一样,返回值类型也不能有精度
    函数和过程的语法差不多,什么时候使用过程, 什么时候使用函数?所有能用函数实现的功能都能用过程来实现。在真正的开发中,一般如果只需要一个返回值 你最好使用函数来定义,如果需要多个返回值 最好使用过程来定义。
     
    举例:创建一个函数,返回0到10之间的一个随机整数
    create or replace function fun_random return number
    is
    -- 声明随机数变量
    v_num number(5);
    begin
    --获取0到10之间的一个随机数
    v_num:=trunc(dbms_random.value(0,10));
    return v_num;
    end;
    调用函数一般使用匿名块:
    --通过匿名块调用函数
    declare
    -- 声明变量接收函数的返回值
    v_num number(5);
    begin
    -- 调用函数
    v_num:=fun_random();
    --打印结果
    dbms_output.put_line('随机数:'||v_num);
    end;
  • 相关阅读:
    缓冲区溢出漏洞攻击原理
    过waf实战之文件上传bypass总结
    渗透-svn源代码泄露漏洞综合利用
    渗透-简单制作过waf的中国菜刀
    双链表
    Go语言(container学习)
    C语言 malloc函数详解
    GitHub搜索技巧
    HyperLogLog 算法的原理讲解以及 Redis 是如何应用它的
    【机器学习】K-近邻算法(KNN)
  • 原文地址:https://www.cnblogs.com/duguangming/p/10846427.html
Copyright © 2020-2023  润新知