2013-10-23 75 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的變量連接起來,然後使用立即執行來運行它。谷歌它,你會發現很多的例子。