Oracle10g 更新前使用比较触发:旧值和:新值无法使用SYSDATE值更新数据类型为TIMESTAMP的表列

Oracle10g 更新前使用比较触发:旧值和:新值无法使用SYSDATE值更新数据类型为TIMESTAMP的表列,oracle10g,Oracle10g,在编写此触发器之后,我无法修改或更新时间戳为datatype、值为SYSDATE的列。我想知道原因和解决方案。在这里,在编写此触发器后,我无法修改或更新时间戳为datatype、值为SYSDATE的列。我想知道这个问题的原因和解决办法,请把它纳入你的问题,并解释实际发生的情况。你有错吗?我正在解释整个过程here@user1960957您的if条件返回的是真还是假?您已经被要求更新问题,请不要在评论中添加太多难以理解的信息。您还没有说实际发生了什么-当您运行更新时,会出现什么错误?您要更新的行中

在编写此触发器之后,我无法修改或更新时间戳为datatype、值为SYSDATE的列。我想知道原因和解决方案。

在这里,在编写此触发器后,我无法修改或更新时间戳为datatype、值为SYSDATE的列。我想知道这个问题的原因和解决办法,请把它纳入你的问题,并解释实际发生的情况。你有错吗?我正在解释整个过程here@user1960957您的if条件返回的是真还是假?您已经被要求更新问题,请不要在评论中添加太多难以理解的信息。您还没有说实际发生了什么-当您运行
更新时,会出现什么错误?您要更新的行中的值是什么?
create or replace TRIGGER "LRMC_ADMIN".LRMC_ORDER_ENTRY_UPDATE_TRIG
BEFORE UPDATE ON LRMC_ORDER_ENTRY
FOR EACH ROW
BEGIN
  IF :OLD.ORD_STATUS='PND' AND 
    (:NEW.ORD_STATUS='BKD' OR :NEW.ORD_STATUS='CLO') 
  THEN
    :NEW.ORD_MOD_DATE:=SYSDATE;
    END IF;
EXCEPTION
WHEN OTHERS THEN
  RAISE_APPLICATION_ERROR(
    -20500,
    'ERROR IN LRMC_ORDER_ENTRY_UPDATE_TRIG :WHEN TRIGGER TRYING TO UPDATE LRMC_ORDER_ENTRY '||
       sqlerrm);
END;