`
jeelee
  • 浏览: 636973 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle学习笔记(第十章:自定义函数)

阅读更多
创建语法格式:
Create  Or   Replace Function fun_name(arg1 in datatype default v_value,arg2 out datatype default v_value,…)
Return datatype
As
--在此定义变量
Begin
--函数具体过程;

Return (v_return_value);--这里的括号可有可无

End  fun_name; --这里的函数名称可有可无

说明:
1,function 返回值必须有,且被呼叫时须为表达式的一部份
2,参数可由function 中传进传出
3,可于PL/SQL表达式和 SQL 叙述中使用
4,最好不要用 stored function 传回多个值
5,如果函数没有参数,则不需要括号,调用时括号可有可无
6,in 和 out 以及 in out 模式参数,如果省略,则默认是 in,参数可以有默认值(default)
7,在调用function或procedure时out模式参数将被初始化为null
8,[ or replace ] 表示可以重复编译,可以省略
9,参数的数据类型不需加长度限制
10,END后的函数名称可以省略
11,用户自定义函数可以像系统函数一样在select语句中调用,但是该函数必须满足纯层的要求
关于纯层(purity level):定义了函数所能读或修改的数据结构,函数有四个纯层:
WNDS  不能写数据库状态   函数不能修改任何数据库表( 使用DML语句)
RNDS  不能读数据库状态    函数不能读数据库表(使用select语句)
WNPS  不能写包状态        函数能修改任何数据库表(变量不能出现在赋值语句的左边以及fetch语句中)
RNPS  不能读包状态        函数不能使用任何包变量(包变量不能出现在赋值语句的右边或作为过程的一部分,以及SQL表达式中)


例子1:
create or replace function test_fun(vemp_no in char)-------------此处变量不能加长度
return varchar2  --一定要有返回值﹐此处无分号
as
vemp_name varchar2(10);-------------此处变量要加长度
begin
  select emp_nm into vemp_name from empm where emp_no=vemp_no;
  return(vemp_name);
end test_fun;

例子2:
create or replace function fun(vemp_no in CHAR)
return empm%rowtype – 可以返回一行值
as
lyj_rec emp_m%rowtype;
begin
   select * INTO lyj_rec from emp_m where emp_no=vemp_no;
   return lyj_rec;
end;



function 与 procedure 的比较
--都可以通过使用out参数返回一个以上的值
--当返回多个值时,用procedure较好
--当返回一个值时,用function较好
--function可以在sql语句中调用,而procedure则不可

-------------检索存储过程
-------------Oracle中有个系统视图﹕user_source﹐它提供以下4个列
-------------Name:包括存储过程﹐函数﹐包或包体的名称
-------------Type﹕指出源代码是否属于存储过程﹐函数还是包体
-------------Text:包含源代码的一行
-------------Line﹕包含在Text中源代码中所包含的函数
----例子检索存储过程test_pro4的源代码
select line,text from user_source where name='test_pro2' order by line;

分享到:
评论

相关推荐

    oracle自定义日期函数

    Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...

    Oracle自定义加密解密函数:数据安全合规·数据脱敏·加密存储高效解决方案

    3、兼容性与灵活性: 适用于各种 Oracle 数据库环境,无论是本地部署还是云数据库,均可无缝集成,满足不同场景需求。 4、详尽注释文档: 提供了完整的函数代码及详细的注释说明,便于用户快速理解与应用,同时降低...

    oracle自定义函数总结

    ### Oracle 自定义函数详解 #### 一、概述 在Oracle数据库中,自定义函数是一种非常实用的功能,可以让我们根据特定需求编写SQL代码块,并将这些代码块封装为可重用的函数。通过这种方式,不仅可以提高代码的复用...

    Oracle统一社会信用代码自定义效验函数

    标签"Oracle 自定义函数"强调了这个函数是在Oracle环境中实现的,这意味着它必须遵循Oracle的语法和规范,且可以被其他Oracle SQL查询或PL/SQL程序调用。 从文件名"统一代码Oracle函数效验"我们可以推测,压缩包内...

    oracle 分析函数详解(有例子)

    1 Oracle开发专题之:分析函数 OVER 2 Oracle开发专题之:分析函数 Rank Dense rank row number 3 Oracle开发专题之:分析函数3 Top Bottom N First Last NTile 4 Oracle开发专题之:窗口函数 5 Oracle开发专题...

    14.Oracle自定义函数1

    在 Oracle 数据库中,自定义函数是一种非常重要的特性,允许用户根据需求创建自己的功能模块,以扩展数据库的内置功能。本文将详细讲解如何创建、调用和管理自定义函数,以及讨论它们在实际应用中的优缺点。 一、...

    Oracle函数:根据自定义分隔符拆分字段SPLIT-STR()然后查询检索数据库表数据

    4、易于集成:函数设计简洁,易于集成到现有的Oracle数据库系统中,无需复杂的配置和改造。 5、优化查询性能:通过避免复杂的子查询和嵌套循环,我们的函数显著提升了数据处理的速度,减少了数据库资源的消耗,让您...

    Oracle自定义聚合函数-分析函数

    Oracle 自定义聚合函数-分析函数 Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 ...

    Oracle自定义函数

    Oracle 自定义函数是数据库开发中的重要工具,允许开发者创建具有特定功能的代码块,以便在查询或业务逻辑中重用。这些函数可以根据需求返回特定的数据类型,并可以通过 IN、OUT 或 IN OUT 参数接收和传递数据。 1....

    Oracle学习笔记

    Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接、交叉连接、自然...

    手机号安全脱敏工具方案:Oracle自定义函数实现中间四位替换为4位星号

    3. 易用性:函数编写清晰,附带详尽注释,即使是没有深厚Oracle编程经验的用户也能快速上手使用。 4. 兼容性:适用于多种版本的Oracle数据库,确保在不同环境下都能稳定运行。 输入参数:函数接受一个标准的手机号码...

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1/2

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1

    Oracle存储过程、自定义函数、动态建表存储过程等例子

    Oracle数据库系统是企业级数据管理的重要工具,其中存储过程、自定义函数以及动态建表存储过程是提升数据库性能和管理效率的关键技术。以下是对这些概念的详细解释。 1. **Oracle存储过程**: 存储过程是预编译的...

    ORACLE数据库体系架构视频教程详细完整版

    第十章: 数据字典和动态视图 第十一章:Oracle的存储架构 第十二章:Oracle中表的几种类型 第十三章:数据库审计 audit 第十四章:数据装载 SqlLoader 第十五章:Oracle 网络 第三部分:管理Oracle数据库 第十六章...

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    ORACLE+DBA必备技能详解.pdf

    第十章:用户,资源文件,角色喝授权 第十一章:其他管理特性 第十二章:优化器 第十三张:其他命令 第十四章:内置函数 第十五章:DML命令 附录A:初始化参数 附录B:数据字典视图 附录C:Oracle sql语法

    oracle dba学习笔记

    Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

Global site tag (gtag.js) - Google Analytics