【发布时间】:2012-12-30 16:05:47
【问题描述】:
如果我多次调用一个函数,那么它是每次都执行还是只执行一次,然后多次使用该值? 示例:
select my_function('filed'),my_function('filed')/field2,
(my_function('filed')*field1)/field3,
...... from my_table where group by filed1;
我的问题是my_function('filed') 将被执行一次,然后结果将用于my_function('filed')/field2 和(my_function('filed')*field1)/field3 或每次my_function('filed') 将在系统级别被调用和执行?
【问题讨论】:
-
函数每次都会执行。返回的值是否被缓存取决于实现。