返回顶部
首页 > 资讯 > 数据库 >Oracle自定义函数记录
  • 261
分享到

Oracle自定义函数记录

2024-04-02 19:04:59 261人浏览 八月长安
摘要

函数主要是用来操作各种数据,并返回相应的操作结果。用户自定义函数是存储在数据库中的代码块,可以把值返回到调用程序。函数的语法:Create [or replace] function functi

函数主要是用来操作各种数据,并返回相应的操作结果。用户自定义函数是存储在数据库中的代码块,可以把值返回到调用程序。
函数的语法:
Create [or replace] function function_name [in datatype,out datatype, in out datatype]
Return datatype
Is|as
……..
函数:
1、函数可在sql中的以下部分被调用:
select、where、having、connect by、start with、order by、group by、insert的values中、update的set中。
2、在函数内,是通过return语句来返回值的。函数体可以有多条return语句,但只能有一条被执行。函数结束时,还没有执行return语句会产生错误。
另外,return语句也可以使用在存储过程中,这种情况下它没有参数,当执行不带参数的return语句后,立刻结束并跳出存储过程,将out,in out形式的形参的当前值传给实参,并将控制权返回到调用环境。
3、函数和存储中的 is 和 as 是没有区别的,游标是is。
4、被调用的函数满足以下限制:
1)、只能调用服务端函数,即是不能作为块的一部分。
2)、函数只能有输入参数,不能有out\in out
3)、函数只能使用sql支持的标准数据类型,不能使用PL/SQL特有的数据类型。
4)、函数内不能包含DML语句
5、函数的参数有3种类型:
1)、in参数类型:表示输入给函数的参数,该参数只能用于传值,不能被赋值。
eg:

create or replace function f_test1(h  in  varchar2) return varchar2
  as
  begin
 ---   h:=2;
    dbms_output.enable(buffer_size=>null);
    dbms_output.put_line(h);
    return h;
    end;
select f_test1(4) from dual;

2)、out参数类型:表示参数在函数中被赋值,可以传给函数调用程序,该参数只能用于赋值,不能用于传值。
eg:

create or replace function f_test3 (h varchar2,b out varchar2) return varchar2
 as
 begin
   b:=h+10;
  --- dbms_output.put_line(b);
   return h;
   end;
.....调用......
declare
v_1 varchar2(10);
v_2 varchar2(10);
begin
  v_1:=f_test3(10,v_2);
  dbms_output.put_line(v_1);
  dbms_output.put_line(v_2);
  end;

3)、in out参数类型:表示参数既可以传值,也可以被赋值。

create or replace function f_test2(h  in out varchar2) return varchar2
  as
  begin
    h:=2;
    dbms_output.enable(buffer_size=>null);
    dbms_output.put_line(h);
    return h;
    end;

declare
v_1 varchar2(10):='4';
begin
 v_1:=f_test2(v_1);
 end;

(说明:带out参数的字定义函数不能用于 SQL语句,只能在PL/SQL程序里)

示例部分:
1.function 调用function

create or replace function f_test4 (h varchar2) return varchar2
as
g varchar2(10);
f varchar2(10);
j varchar2(10);
begin
  g:=f_test3(h,f);
  j:=h+f;
  return j;
  end;
   select f_test4(10) from dual;

2.取权利人姓名:
create or replace function f_get_qlr (v_slbh varchar2) return varchar2
as
v_qlr varchar2(50);
begin
for i in (select q.* from dj_qlrgl gl inner join dj_qlr q on gl.qlrid=q.qlrid where gl.qlrlx='权利人' and gl.slbh=v_slbh) loop
v_qlr:=v_qlr||i.qlrmc||'、';
end loop;
return substr(v_qlr,0,instr(v_qlr,'、',-1)-1);
---return v_qlr;
end;
by wolihaito 2018.02.20

您可能感兴趣的文档:

--结束END--

本文标题: Oracle自定义函数记录

本文链接: https://lsjlt.com/news/41511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle自定义函数记录
    函数主要是用来操作各种数据,并返回相应的操作结果。用户自定义函数是存储在数据库中的代码块,可以把值返回到调用程序。函数的语法:Create [or replace] function functi...
    99+
    2024-04-02
  • SqlServer系列笔记——用户自定义函数
     用户自定义函数不能用于执行一系列改变数据库状态的操作,但它可以像系统函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过 EXECUTE 命令来执行。    在 SQL ...
    99+
    2024-04-02
  • mysql 自定义函数
    -- 如果存在hello这个名称的函数则删除hello drop FUNCTION if exists hello; -- 创建一个叫hello的函数返回值为int类型,参数为varchar类型 参数名称为username CRE...
    99+
    2016-12-27
    mysql 自定义函数
  • cratedb 自定义函数
    cratedb 支持自定义函数,但是当前只有js 引擎(基于graalvm),而且需要企业license (当然我们可以使用免费的3节点的集群) 自定义函数格式 CREATE [OR REPLACE] FUNCTION f...
    99+
    2016-07-05
    cratedb 自定义函数 数据库入门 数据库基础教程 数据库 mysql
  • MYSQL——自定义函数
      自定义函数用户自定义函数是一种对MYSQL扩展的途径,其用法与内置函数相同1   函数可以返回任意类型的值,同样可以接收这些类型的参数2   函数体由合法的SQL语句构成3...
    99+
    2024-04-02
  • 自学MySQL自定义函数
    下面讲讲关于MySQL自定义函数,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL自定义函数这篇文章你一定会有所受益。 1.自定义函数简介 自定义函数...
    99+
    2024-04-02
  • SQL自定义函数function
    https://blog.csdn.net/qq_23833037/article/details/53170789https://www.cnblogs.com/youring2/p/4916400.ht...
    99+
    2024-04-02
  • Golang 自定义 ServeHTTP 状态日志记录
    php小编香蕉为您介绍Golang自定义ServeHTTP状态日志记录。在Golang中,ServeHTTP函数是用于处理HTTP请求的关键函数之一。通过自定义ServeHTTP函数,...
    99+
    2024-02-11
  • Oracle自定义脱敏函数的代码详解
    对于信息安全有要求的,在数据下发和同步过程中需要对含有用户身份信息的敏感字段脱敏,包括用户姓名、证件号、地址等等,下面是自定义函数的代码 CREATE OR REPLACE FUNCTION ...
    99+
    2024-04-02
  • JavaScript如何自定义函数
    这篇文章主要介绍“JavaScript如何自定义函数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何自定义函数”文章能帮助大家解决问题。JavaScript中的函数分为两种:系...
    99+
    2023-06-29
  • Python如何自定义函数
    小编给大家分享一下Python如何自定义函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!自定义函数import requestsfrom b...
    99+
    2023-06-27
  • Python基础:自定义函数
    函数的形式: def name(param1, param2, ..., paramN): statements return/yield value # optional 和其他需要编译的语言(比如 C 语言)不一...
    99+
    2023-01-31
    自定义 函数 基础
  • python3 自定义比较函数
    python 2 中支持类似 c++ 中 cmp 的写法python 3 放弃了这一用法官方说明:https://docs.python.org/3/howto/sorting.html#sortinghowto多元素比较时可以写成:a ...
    99+
    2023-01-31
    自定义 函数
  • hive3.0.0如何自定义函数
    这篇文章主要为大家展示了“hive3.0.0如何自定义函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hive3.0.0如何自定义函数”这篇文章吧。示例代码package hello...
    99+
    2023-06-02
  • 如何自定义 PHP 函数?
    自定义 php 函数包括以下步骤:使用 function 关键字声明函数。指定函数名。定义参数(可选)。使用 return 语句返回数据(可选)。调用函数。 如何自定义 PHP 函数:...
    99+
    2024-04-10
    函数 php
  • Android自定义软键盘的步骤记录
    目录效果图实现自定义软键盘1、通过xml定义键盘2、将xml文件与keyboardview绑定起来3、处理点击事件onKey附赠一些实用的效果处理总结效果图 还是咱们的老规矩,先放最...
    99+
    2024-04-02
  • greenplum数据库python自定义函数
    greenplum数据库(下面简称gp数据库)支持自定义函数,下面介绍的是python编写的自定义简单函数。聚类函数较复杂,自我感觉不适合在gp数据库中编写。python自定义函数说明了只要python能对...
    99+
    2024-04-02
  • oracle自定义splitstr
    oracle自定义splitstr 目录 oracle自定义splitstr oracle自定义splitstr 有时...
    99+
    2014-09-22
    oracle自定义splitstr
  • MyBatis-Plus自定义SQL的详细过程记录
    目录前言一、在src/main/resource目录下编写XML1.1  目录结构1.2   编写实体类对应的Mapper接口1.3 ...
    99+
    2024-04-02
  • .NetCore日志记录之自定义日志组件
    一、前言 回顾:日志记录之日志核心要素揭秘 在上一篇中,我们通过学习了解在.net core 中内置的日志记录中的几大核心要素,在日志工厂记录器(ILoggerFactory)中实现...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作