2013-12-10 34 views
3

我想在壓延Oracle應用一列中顯示從數據庫中的多個列中的數據表示選擇多列壓延機在Oracle Application Express

我的SQL查詢是這樣

SELECT EXPDATE, 'Exp: ' || SUM(EXPAMT) || ' App: ' || SUM(EXPAPPRAMT) 
FROM EXPITEM 
group by EXPDATE; 

當我試圖在SQL開發人員執行它,這是沒有問題的查詢

但是當我試圖在oracle應用程序express執行,有一個錯誤

ORA-06502: PL/SQL: numeric or value error: dbms_sql.describe_columns overflow, col_name_len=44. Use describe_columns2 

有人知道oracle應用程序中的查詢有什麼問題嗎?

+0

你可以在沒有串聯總結列? –

回答

2

嘗試使用別名查詢領域

SELECT EXPDATE as field1, 
     'Exp: ' || SUM(EXPAMT) || ' App: ' || SUM(EXPAPPRAMT) as field2 
FROM EXPITEM 
group by EXPDATE; 
+0

謝謝youuu,它完美地工作 – user3051767

+0

@ user3051767而原因是apex試圖解析動態sql語句,並且標識符超過30個字符:'col_name_len = 44'。如果闡述了頂點版本和更多的上下文(「日曆」 - 什麼?在哪裏?),這將有所幫助。 Apex一直指出顯示和返回列必須有不同的名稱,並建議使用'd'和'r'或'display_value'和'return_value'來做這些。通常點擊字段標籤獲得一些幫助可以幫助很多。 – Tom

+0

您可能想考慮不使用隱式轉換。連接運算符用於字符串和clobs,並且您正在使用數字值。有時這些隱式轉換可能會引發錯誤。 –