PL/SQL程序设计—— 存储函数&存储过程
Posted 秋风de领域
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL程序设计—— 存储函数&存储过程相关的知识,希望对你有一定的参考价值。
(一)引言
ORACLE提供可以吧PL/SQL程序存储在数据库中,并可以在任何地方来运行它,这样就叫做存储过程或函数。过程和函数统称为PL/SQL子程序,它们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。
(二)创建函数
1、建立内嵌函数
语法:
2、不带参数的函数
—— 函数的helloworld:返回一个"helloworld"字符串
调用这个函数
方法一:
方法二:
3、带参数的函数
运行:
方法一:
方法二:
—— 创建一个存储函数,返回系统时间
—— 定义一个函数: 获取给定部门的工资总和, 要求:部门号定义为参数, 工资总额定义为返回值.
4、 OUT 型的参数:
因为函数只能有一个返回值, PL/SQL 程序可以通过 OUT 型的参数实现有多个返回值
—— 要求: 定义一个函数: 获取给定部门的工资总和 和 该部门的员工总数(定义为 OUT 类型的参数).
要求: 部门号定义为参数, 工资总额定义为返回值.
运行:
在CREATE OR REPLACEFUNCTION语句中声明函数参数时可以使用 DEFAULT关键字为输入参数制定默认值
(三)存储过程
在ORACLE SERVER上建立存储过程,可以被多个应用程序调用,可以向存储过程传递参数,也可以小存储过程传回参数
1、建立存储过程
语法:
—— 定义一个存储过程: 获取给定部门的工资总和(通过 out 参数), 要求:部门号和工资总额定义为参数
—— 自定义一个存储过程完成以下操作:
对给定部门(作为输入参数)的员工进行加薪操作, 若其到公司的时间在 (? , 95) 期间, 为其加薪 %5
[95 , 98) %3
[98, ?) %1
得到以下返回结果: 为此次加薪公司每月需要额外付出多少成本(定义一个 OUT 型的输出参数).
以上是关于PL/SQL程序设计—— 存储函数&存储过程的主要内容,如果未能解决你的问题,请参考以下文章