Plsql Oracle在子句出现问题时触发

Plsql Oracle在子句出现问题时触发,plsql,triggers,oracle10g,oracle-sqldeveloper,Plsql,Triggers,Oracle10g,Oracle Sqldeveloper,下面是我试图创建的触发器,但是,每次编译都会成功,但当我关闭窗口并重新打开触发器时,它会删除when子句,因此每次都会执行触发器,而不是when X。我使用的是Oracle 10g express edition。我的问题是这是否是一个格式正确的PL/SQL触发器 CREATE OR REPLACE TRIGGER CHECKQUAN AFTER UPDATE ON PRODUCT FOR EACH ROW WHEN (NEW.QuanInStock <= New.Reorde

下面是我试图创建的触发器,但是,每次编译都会成功,但当我关闭窗口并重新打开触发器时,它会删除when子句,因此每次都会执行触发器,而不是when X。我使用的是Oracle 10g express edition。我的问题是这是否是一个格式正确的PL/SQL触发器

CREATE OR REPLACE TRIGGER CHECKQUAN 
  AFTER UPDATE ON PRODUCT 
  FOR EACH ROW WHEN (NEW.QuanInStock <= New.ReorderQuan)
BEGIN
  INSERT INTO reorder (prodnum, requestdatetime, reorderquan)
  VALUES (:OLD.productid ,SYSDATE, :OLD.reorderquan);
END CHECKQUAN;
创建或替换触发器校验码
产品更新后

对于每行,当(NEW.QuanInStock您使用什么工具来查看触发器源代码?顺便说一句,我同意@OldProgrammer-语法对我来说很好。我使用Oracle SQL Developer,我只是通过单击触发器名称来查看它。但是当我单击导出DDL时,我会看到它,并且在用户_触发器表中也会看到它。因此,无论出于什么原因,它只是没有出现在Oracle SQL Developer窗口中。我猜一切都没问题。在我的恐慌中,我没有想到检查表或DDL摘要中打印的内容。但是感谢你们两位检查语法。从内存来看,我认为SQL Developer中有一个错误-将触发器导出为DDL丢失了一些东西-但我可能是错误的记住这一点。