【发布时间】:2018-09-21 02:57:04
【问题描述】:
我在 oracle 中有一个包。在包中,我有一个执行(插入..select..)语句的过程
是这样的:
插入 some_table(col1 , col2 , col3, col4)
选择 col1 , col2, my_func(col3) as new_col3 , col4
来自 some_other_table
my_func(col3) 执行一些逻辑来返回一个值。
现在我需要使用相同的逻辑返回两个值而不是一个。
我可以简单地编写另一个函数来执行相同的逻辑并返回第二个值,但这会很昂贵,因为该函数是从一个大的历史表中选择的。
我无法与历史表进行连接,因为该函数不执行简单的选择。
有没有办法通过只调用一次这个函数来获得两列?
【问题讨论】: