Oracle Function

2024 年 8 月 29 日 | 阅读 3 分钟

函数是一个用于返回单个值的子程序。您必须在调用函数之前声明和定义它。它可以在同一时间声明和定义,也可以先声明,稍后在同一块中定义。

在 Oracle 中创建函数

语法

在创建过程或函数之前,您必须定义一些参数。这些参数是

  • IN: 这是一个默认参数。它将值传递给子程序。
  • OUT: 必须指定。它将一个值返回给调用者。
  • IN OUT: 必须指定。它将一个初始值传递给子程序,并将一个更新后的值返回给调用者。

Oracle 函数示例

让我们看一个简单的例子来创建一个函数

现在编写另一个程序来调用该函数

输出

Addition is: 33
Statement processed.
0.05 seconds

另一个 Oracle 函数示例

让我们举一个例子来演示声明、定义和调用一个简单的 PL/SQL 函数,该函数将计算并返回两个值的最大值。

输出

Maximum of (23,45): 45
Statement processed.
0.02 seconds

使用表的 Oracle 函数示例

让我们以一个客户表为例。此示例说明了创建和调用一个独立的函数。此函数将返回客户表中 CUSTOMERS 的总数。

创建客户表并在其中包含记录。

客户
ID名称部门薪金
1alexweb 开发人员35000
2ricky程序开发人员45000
3mohanweb 设计师35000
4dilshad数据库管理员44000

创建函数

执行上述代码后,您将得到以下结果。

Function created. 

调用 Oracle 函数

在 SQL 提示符下执行上述代码后,您将得到以下结果。

Total no. of Customers: 4
PL/SQL procedure successfully completed.

Oracle 递归函数

您已经知道一个程序或子程序可以调用另一个子程序。当一个子程序调用自身时,它被称为递归调用,并且该过程被称为递归。

计算数字的阶乘的示例

让我们举一个例子来计算数字的阶乘。此示例通过递归调用自身来计算给定数字的阶乘。

在 SQL 提示符下执行上述代码后,它会产生以下结果。

Factorial 6 is 720 
PL/SQL procedure successfully completed.

Oracle 删除函数

如果要从数据库中删除已创建的函数,应使用以下语法。

语法

下一主题Oracle 游标