本文正在参与炫“库”行动-人大金仓征文大赛,活动链接:CSDNhttps://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb
一、什么是嵌套函数
1、概述
一个函数或存储过程,可以定义在PL/SQL匿名块或另一个函数或存储过程的声明中,把它叫称做嵌套函数。
2、相关定义
(1)PL/SQL块(PL/SQL block):块是PL/SQL源程序中的用来将相关的声明和语句分割的基本单元。块是可以嵌套使用的,在一个块中,还可以存在多个平级的块。
(2)子程序(subprogram):是一个能够通过一组参数进行调用的命名PL/SQL块。可以在PL/SQL块或另一个子程序中声明和定义子程序。函数和存储过程都是子程序。
(3)嵌套函数:一个匿名块、函数或存储过程声明部分定义了另一个子程序,该子程序只能在该匿名块、函数或存储过程中使用。
(4)重载(overloading):PL/SQL允许对局部子程序(local subprogram)、包中的子程序(packaged subprograms)和类型方法(type methods)进行重载。不同子程序只要形式参数的数量、顺序或者参数的数据类型族(datatype family)不同,那么是可以使用相同的名称。
二、嵌套函数的声明和定义
1、kingbase数据库支持如下的子程序定义