执行插入触发器时出错

时间:2016-07-18 14:28:48

标签: plsql oracle11g

DROP TRIGGER EPI_BOREHOLE_INI;
CREATE OR REPLACE TRIGGER EPI_BOREHOLE_INI
INSTEAD of Insert ON EPI_BOREHOLE for each row
DECLARE
V_ID    number(10);
V_USER  varchar2(100);
BEGIN
if (:new.UBHI is null or :new.NAME is null or) then
    Raise_Application_Error(-20101, 'Insert failed. The key values of BOREHOLE(UBHI, NAME) cannot be null');
    end if;
begin
    select BOREHOLE_ID.nextval into V_ID from dual;
    SELECT USER INTO V_USER FROM DUAL;
    INSERT INTO EPI_BOREHOLE (ID, UBHI, NAME, INSERT_DATE ,INSERT_NAME, UPDATE_DATE,UPDATE_NAME) VALUES (V_ID,:NEW.UBHI, :NEW.NAME, SYSDATE, V_USER, SYSDATE, V_USER);
end;
END;

2 个答案:

答案 0 :(得分:0)

我没有看到代码有任何问题。 尝试做

  

设定定义

答案 1 :(得分:0)

我发现代码中的错误很少:请参阅下文:

if (:new.UBHI is null or :new.NAME is null or) then  <-- An additional OR written. 

删除它并尝试再添加一个条件。