我试图在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