Oracle 触发器学习(将数据插到另一个表中)

CREATE OR REPLACE TRIGGER TRG_XJ
  AFTER INSERT OR UPDATE ON T_EMAIL
  FOR EACH ROW
DECLARE
 SQESTR VARCHAR2(50);
BEGIN
  INSERT INTO T_TEST_XJT T
    (T.ID, T.NAME, T.REMARK, T.CREATE_DATE)
  VALUES
    (SEQ_TEST_XJT.NEXTVAL, :OLD.EMAIL_MAIL, :OLD.EMAIL_USER_NAME, SYSDATE);

  INSERT INTO T_TEST_XJT T
    (T.ID, T.NAME, T.REMARK, T.CREATE_DATE)
  VALUES
    (SEQ_TEST_XJT.NEXTVAL, :NEW.EMAIL_MAIL, :NEW.EMAIL_USER_NAME, SYSDATE);
    
  SELECT SEQ_TEST_XJT.NEXTVAL INTO SQESTR FROM DUAL;
  DBMS_OUTPUT.put_line('SQE'||SQESTR);
  
  IF (:NEW.EMAIL_MAIL = '[email protected]') THEN
    --RAISE_APPLICATION_ERROR 用于将异常拋出,拋到客户端
    RAISE_APPLICATION_ERROR(-20001, '不能进行此操作,出现异常,将异常拋到客户端!');
  END IF;

END;

猜你喜欢

转载自xinjiatao.iteye.com/blog/2206764