我試圖在Oracle中的表上插入&更新觸發器。 正在嘗試閱讀NEW.CLOB_COLUMN_VALUE時,它給我空白。在插入之前讀取CLOB,更新觸發器
表:
CREATE TABLE TEMP_TEST101
(
ID NUMBER(2),
TEST_CLOB_VALUE CLOB
)
觸發:
ORA-20010: Testing Failed:[]
有什麼辦法,我們可以讀出:NEW.TEST_CLOB_VALUE
前插入/更新:試圖插入後
CREATE OR REPLACE TRIGGER TR_Temp_Test101
BEFORE INSERT OR UPDATE
ON Temp_Test101 FOR EACH ROW
DECLARE
BEGIN
If (:NEW.TEST_CLOB_VALUE = 'A')
Then
raise_application_error(-20010,'Testing Successfull');
End IF;
raise_application_error(-20010,'Testing Failed:['||:NEW.TEST_CLOB_VALUE||']');
END TR_Temp_Test101;
/
提示?
要求是在插入/更新之前驗證CLOB列的數據。
這似乎很好地工作。 - 插入A獲得'成功[A]',插入B獲得[失敗[B]')。您沒有顯示您使用的插入語句 - 您嘗試插入的實際值是多少? –
我總是使用rowid來添加記錄。插入查詢工作得很好。 :從Temp_Test101選擇rowid,t1。* t1 – pOrinG
感謝您的快速回復和更正。使用rowid添加時,提示符顯示爲空[]。但是,當使用插入語句時,觸發器正常工作。 – pOrinG