3
我想創建一個觸發器:ORACLE更新觸發後:解決ORA-04091突變表錯誤
create or replace trigger NAME_OF_TRIGGER
after insert or update on table1
REFERENCING OLD AS OLD NEW AS NEW
for each row
來更新/插入一個表格時自動填寫幾個非強制性的領域。
這需要我使用一個遊標來選擇table2和table1(觸發的主題)。
有沒有辦法避免變異表錯誤,而不使用臨時表的值或自治事務?
謝謝!這證實了我一直在閱讀的一個實驗。我現在正在改變:觸發前的新值;似乎工作! –
那麼,理論上這很好,但是當你想在複雜的連接中使用這個變異表時,你會做什麼?讓第二個臨時表填充觸發器的數據,然後在連接中使用該臨時表?當你有數百個這樣的桌子時,你會做什麼?加倍你的模式,並有每個查詢的多個版本,以應付目前正在變異的任何連接表的所有可能性..或使用動態SQL? – Dexter
因此,任何Oracle觸發器都沒有什麼價值......或者我 - 猜測後者可能是有效的,但突變觸發器錯誤是一個皮塔皇家。 –