PL/SQL 逻辑运算符评估整个函数
我知道在类似 C 的语言中,逻辑运算符一次计算一个,因此:
false && really_expensive_function()
is 不会导致调用该函数(我不记得它的 CS 名称)。 PL/SQL 中是否也会发生同样的情况,或者我是否需要将 IF 部分分解为单独的块?
I know in C like languages logical operators are evaluated one at a time so:
false && really_expensive_function()
is doesn't result in the function being called (I can't remember the CS name for this). Does the same happen in PL/SQL or do I need to break the IF parts out to separate blocks?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
CS 名称为
short-circuming
(有关短路评估的维基百科条目)是的,plsql 正是这样做的。The CS name is
short-circuiting
(wikipedia entry on short-circuit evaluation) and yes, plsql does exactly that.我认为您正在寻找的术语是“惰性评估”。您可能需要查看 这个问题。
I think the term you are looking for is "lazy evaluation". You may want to look at this question.