热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

忽略PL/SQL函数的返回值

如何解决《忽略PL/SQL函数的返回值》经验,为你挑选了1个好方法。

有时我调用PL / SQL函数来接收和处理它返回的值。其他时候,我只想为副作用调用相同的函数。

例如,考虑一个日志记录函数,该函数将其参数记录在表中,然后返回由相同参数创建的格式化字符串。有时我想使用返回值,例如将其显示给用户,而其他时候,我只是调用表记录功能,而忽略返回值。在后一种情况下,我想避免声明一个变量来保存返回的值并编写一条assigment语句。

这个问题触及主题,答案似乎是调用者必须使用函数返回的值,无论是通过赋值语句还是select into

有没有一种方法可以在PL / SQL中调用函数并丢弃返回的值?



1> APC..:

分配一个变量,然后不执行任何操作,这是代码的味道

如果我们在谈论代码的味道,那么拥有一个更改数据库状态的功能就有点奇特。惯例是过程更改状态,而函数仅读取状态。

因此,以您的示例为例,您可以在记录器程序包中将记录功能实现为两个重载过程。

procedure log_this(p1_in number, p2 in timestamp, p_fmt_txt out varchar2);

procedure log_this(p1_in number, p2 in timestamp);

在程序包主体中,第二个过程仅调用第一个过程并吞并out参数。

现在,您可以根据是否要查看格式化的字符串来调用适当的过程。

当然,如果要在SELECT语句中调用函数,则此解决方案将不起作用,但是通过查询更改数据库状态确实是一种代码味道。


推荐阅读
author-avatar
博文_Andrew-属_394
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有