2013-10-23 35 views
0

您好所有:)我尝试做这样的事情在Oracle 10g中:获取部分通过参数函数定义

SELECT 
    CAR_ID, 
    CAR_DATE, 
    get_some_other_info(CAR_TYPE) 
FROM CARS 

get_some_other_info(CAR_ID)将返回几列:

| CAR_ID | CAR_DATE | CAR_COLOR | CAR_CO2 
| 001 | 01/01/2013 | BLUE  | 100 
| 002 | 02/01/2013 | RED  | 120 
| 003 | 03/01/2013 | BLUE  | 100 

由于实现原因,我需要使用一个函数。我觉得我可以使用Table functions,但是我无法围绕如何将它们用于我的案例。

最好的问候,

+0

执行查询时必须知道列数,并且必须在“SELECT”列表中指定它们。你可以做的是:a)为你想要获得的每一个“列”调用单独的函数(由于性能问题而产生错误想法)或者b)返回聚合值并且在外部查询中从其中检索值, (感觉像一个糟糕的设计)。 –

回答

0

您还可以使用动态SQL来实现这一目标。将函数的结果与包含SQL的变量连接起来,然后使用立即执行来运行它。谷歌它,你会发现很多的例子。