存储函数

create or replace function 函数名(Name in type, Name out type, ...) return 数据类型 is

  结果变量 数据类型;

begin

  return(结果变量);

end[函数名];

存储过程和存储函数的区别

一般来讲,过程和函数的区别在于函数可以有一个返回值;而过程没有返回值。

但过程和函数都可以通过out指定一个或多个输出参数。我们可以利用out参数,在过程和函数中实现返回多个值。
一般来讲,有一个返回值的时候用存储函数,多个返回值用存储过程。
范例:使用存储函数来查询指定员工的年薪
 1 create or replace function empincome(eno in emp.empno%type) return number is
 2
 3   psal  emp.sal%type;
 4
 5   pcomm emp.comm%type;
 6
 7 begin
 8
 9   select t.sal into psal from emp t where t.empno = eno;
10
11   return psal * 12 + nvl(pcomm, 0);
12
13 end;

使用存储过程来替换上面的例子
 1
 2 create or replace procedure empincomep(eno in emp.empno%type, income out number) is
 3
 4   psal emp.sal%type;
 5
 6   pcomm emp.comm%type;
 7
 8 begin
 9
10   select t.sal, t.comm into psal, pcomm from emp t where t.empno = eno;
11
12   income := psal*12+nvl(pcomm,0);
13
14 end empincomep;

调用:
 1
 2 declare
 3
 4   income number;
 5
 6 begin
 7
 8   empincomep(7369, income);
 9
10   dbms_output.put_line(income);
11
12 end;

转载于:https://www.cnblogs.com/anzhi/p/7568237.html

oracle对象之存储函数相关推荐

  1. oracle存储过程与函数的区别及作用,Oracle存储过程与存储函数-入门

    文章思维导图 一. 存储过程和存储函数的定义 定义:存储在数据库中,供所有用户程序调用的子程序叫做存储过程/存储函数.复杂点的解释:存储过程(Stored Procedure),就是一组用于完成特定数 ...

  2. 2021-08-18MySQL 第六章过程式数据库对象.23存储函数,触发器

    6.2 存储函数 6.2.1 创建存储函数     create function语法如下: create function 存储过程名([参数...]) returns type [特征...] 存 ...

  3. Oracle存储过程和存储函数创建

    select * from emp; -----------------存储过程------------------------ --定义create[or replace] procedure 存储 ...

  4. Oracle转MySQL存储函数percentile_cont(比例) WITHIN GROUP( ORDER BY to_number(分数) )用法

    在Oracle中会用到 percentile_cont(比例) WITHIN GROUP( ORDER BY to_number(分数) ) 的写法,但在MySQL中却没有percentile_con ...

  5. 存储过程和存储函数的关系及使用方法

    存储过程,存储函数(Oracle) 存储过程和存储函数 指存储在数据库中供所有用户程序调用的 子程序叫存储过程.存储函数. 存储过程和存储函数的区别? 存储函数:可以通过return 语句返回函数值. ...

  6. oracle as 不可以省略,Oracle:存储过程,存储函数

    什么是存储过程和存储函数:指存储在数据库中供所有用户程序调用的子程序叫做存储过程.存储函数. 这个子程序是用PL/SQL写的.可以用Java程序调用,就是完成特定功能的子程序. 用create pro ...

  7. oracle表空间,角色,权限,表,索引,序列号,视图,同义词,约束条件,存储函数和过程,常用数据字典,基本数据字典信息,查看VGA信息,维护表空间,创建表空间等信息

    查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * fr ...

  8. oracle数据库存储函数,Oracle数据库存储过程

    一.定义 所谓存储过程,就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.使用的时候,用户通过指定已经定义的存储过程名字并给相应的存储过程参数来调用并执行它,从 ...

  9. oracle对象权限 函数,oracle的系统和对象权限

    alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...

最新文章

  1. Hive 基础-进阶
  2. post from open live writer
  3. sqlserver 动态表名 动态字段名 执行 动态sql
  4. css中position初解
  5. [linux]Ubuntu12.1下打开terminal的方式
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的电费用电管理系统
  7. 虚拟机+centOS挂载ISO步骤
  8. 二调建设用地地类代码_二调地类和三调地类的对比
  9. 《麦肯锡方法》第1章建立解决方案-思维导图
  10. c语言freeimage库文件,FreeImage使用方法amp;FreeImage Tutorial
  11. 产品经理学习笔记(13)-用户反馈的意义
  12. 智能指针循环引用——你真的懂了吗?
  13. spring boot 使用javaMailSender 发送qq邮箱验证码
  14. 微信小程序开发者工具真机调试和预览连接本地服务器
  15. proteus学习之安装最小单片机系统
  16. 大数据揭秘《都挺好》:比起樊胜美 女性更想当苏明玉
  17. python django面试题(第八章)
  18. 读书笔记-定时询问寻求帮助
  19. 学计算机要求学化学吗,学化学的人有前途吗?
  20. 一分钟解决连接git/github失败问题!亲测可行!

热门文章

  1. axure小程序模板_微信小程序模板案例收集
  2. 虚拟机中web服务器的搭建,虚拟机下搭建web服务器
  3. matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...
  4. frps与frpc的区别
  5. Roberta-wwm-ext-large模型中的wwm理解
  6. Unicode和UTF-8的区别
  7. setuptools与distutils的区别
  8. php使用redis内存不足,PHP开发:Redis 内存满了怎么办?
  9. MySQL 怎么变快_如何让mysql索引更快一点
  10. python的flask微服务-一次flask+redis的微服务实战