文档详情

数据库基础(基于达梦DM8)课件:存储函数的定义及管理.pptx

发布:2025-04-19约1.5千字共10页下载文档
文本预览下载声明

数据库基础(基于达梦DM8)

数据库程序设计

6.4存储函数的定义及管理0102调用存储函数定义存储函数03删除存储函数

6.4.1定义存储函数定义存储函数的语法如下所示:CREATE[ORREPLACE]FUNCTION函数声明AS_OR_IS模块体

6.4.1定义存储函数过程声明的语法说明如下所示:函数声明::=存储函数名定义[WITHENCRYPTION][FORCALCULATE][(参数名参数模式参数类型[默认值表达式]{,参数名参数模式参数类型[默认值表达式]})]RETURN返回数据类型[调用选项子句][PIPELINED]存储函数名定义::=[模式名.]存储函数名调用选项子句::=调用选项{调用选项}调用选项::=调用权限子句|DETERMINISTIC

6.4.1定义存储函数模块体的语法说明如下所示:模块体::=[声明部分]BEGIN执行部分[异常处理部分]END[存储函数名]声明部分::=[DECLARE]声明定义{声明定义}声明定义::=变量声明|异常变量声明|游标定义|子过程定义|子函数定义;执行部分::=DMSQL程序语句序列{;DMSQL程序语句序列}DMSQL程序语句序列::=[标号说明]DMSQL程序语句;标号说明::=标号名DMSQL程序语句::=SQL语句|控制语句异常处理部分::=EXCEPTION异常处理语句{;异常处理语句}

6.4.1定义存储函数【案例6-10】在模式SCH_FACTORY下创建一个名为fun_1的存储函数。函数的两个输入参数a,b类型为INT,返回参数s类型为INT。最后将a、b的和进行返回。CREATEORREPLACEFUNCTIONSCH_FACTORY.fun_1(aINT,bINT)RETURNINTASsINT;BEGINs:=a+b;RETURNs;EXCEPTIONWHENOTHERSTHENNULL;END;/

6.4.2调用存储函数调用存储函数,除了可以通过CALL语句和直接通过名字调用外,还可以通过SELECT语句来调用,且执行方式存在以下区别。通过CALL和直接使用名字调用存储函数时,不会返回函数的返回值,仅执行其中的操作;通过SELECT语句调用存储函数时,不仅会执行其中的操作,还会返回函数的返回值。SELECT调用的存储函数不支持含有OUT、INOUT模式的参数。

6.4.2调用存储函数【案例6-11】调用案例6-10中在模式SCH_FACTORY下创建的一个名为fun_1的存储函数,存储函数的输入参数为1和3。CALLSCH_FACTORY.fun_1(1,3);SELECTSCH_FACTORY.fun_1(1,3);

6.4.3删除存储函数当用户需要从数据库中删除一个存储函数时,可以使用存储函数删除语句。其语法如下所示:DROPFUNCTION存储函数名定义;存储函数名定义::=[模式名.]存储函数名

6.4.3删除存储函数【案例6-12】删除模式SCH_FACTORY下创建的名为fun_1的存储函数。DROPFUNCTIONSCH_FACTORY.fun_1;

显示全部
相似文档