Apex初學者在這裏。我在窗體的我Oracle數據庫的視圖:Oracle Apex - 使用替代觸發器更新視圖
create or replace view vw_awkward_view as
select unique tab1.some_column1,
tab2.some_column1,
tab2.some_column2,
tab2.some_column3
from table_1 tab1,
table_2 tab2
WHERE ....
我需要「tab1.some_column1」的「唯一」條款,因爲它在它的底層表中的許多條目。我還需要在我的視圖中包含'tab1.some_column1',因爲如果沒有它,其餘數據沒有多大意義。
在Apex中,我想創建一個關於此視圖的報告,並使用表單進行編輯(僅更新)。我不需要編輯tab1.some_column1。只有視圖中的其他列需要可編輯。我通常可以使用'instead of'觸發器來實現這一點,但當視圖包含'distinct','unique'或'group by'子句時,這看起來不可能。
如果我嘗試在這個觀點我碰到下面的錯誤更新行:
ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
我怎樣才能避免這個錯誤?我希望我的「替代」觸發器能夠啓動並執行更新,而且我不需要編輯具有「唯一」子句的列,因此我認爲應該可以執行此操作。
唯一的是所有字段 - tab1.some_column1,tab2.some_column1,tab2.some_column2,tab2.some_column3。如果tab2.some_column1,tab2.some_column2,tab2.some_column3已經是唯一的,那麼爲什麼你需要獨特的?或者我錯過了什麼? – 2012-02-09 15:54:07
啊..想你已經暴露了我可憐的SQL在這裏。我認爲'唯一'只適用於我宣佈它旁邊的專欄。這可能是我的問題。我會進一步調查,謝謝... – JMc 2012-02-09 16:18:09