2011年9月12日 星期一

ORA-01417

ORA-01417 a table may be outer joined to at most one other table

發生原因:開發人員使用outer join 資料表一對多個資料表的對應

處理辦法:請開發人員修正outer join 的使用方法,修改資料表的對應關係。

範例

以下的SQL 敘述就會發生ORA-01417 的錯誤。

SELECT CUSTOMER.ID, CUSTOMER.NAME, CUSTOMER.BIRTHDAY
FROM CUSTOMER, ORDER, PRODUCT
WHERE CUSTOMER.ID = ORDER.ID(+)
AND PRODUCT.ID = ORDER.ID(+)

這樣的錯誤是因為資料表outer join 的關係發生錯誤,ORDER.ID 對應兩個資料表,請修正對應資料表的對應關係如下。

SELECT CUSTOMER.ID, CUSTOMER.NAME, CUSTOMER.BIRTHDAY
FROM CUSTOMER, ORDER, PRODUCT
WHERE CUSTOMER.ID = ORDER.ID(+)
AND PRODUCT.ID = ORDER.ID

>> 歡迎前往 Superfunction ORA error code

沒有留言:

張貼留言