2015-07-28 70 views
0

我寫了下面的查詢在Oracle中,它工作正常在一個模式,但也給人一種ORA-00904錯誤的另一個模式的utc_to_oracle轉換功能。ORA-00904,而UTC日期轉換爲Oracle日期

SELECT MIN(to_char(utc_to_oracle(start_t),'DD-MON-YYYY hh24:mi:ss')), 
     MAX(to_char(utc_to_oracle(end_t),'DD-MON-YYYY hh24:mi:ss')) 
FROM ts.udata 
WHERE entity_type='wxyz' 

錯誤:

ORA-00904: "UTC_TO_ORACLE": invalid identifier 
00904. 00000 - "%s: invalid identifier" 
*Cause:  
*Action: Error at Line: 2 Column: 13 

爲什麼致力於一個架構而不是其他?

+0

'utc_to_oracle'不是內置函數;它必須是一個用戶定義的函數,它存在於第一個模式中,但不在第二個模式中。你想複製函數,還是從多個模式訪問一個版本? (我也建議你可能想'TO_CHAR(MIN())'而不是'分鐘(TO_CHAR())',得到的最早日期,而不是最低的天數,與同爲最大) –

+0

謝謝很多!糾正它 –

回答

0

ORA-00904,當你引用無效的對象出現。

您需要爲用戶定義的對象UTC_TO_ORACLE到目標用戶有這樣的執行提供資助。

GRANT SELECT ON UTC_TO_ORACLE TO XXX;