时间:2021-06-02 08:20:24 | 栏目:Oracle | 点击:次
Oracle触发器,用于选单后修改选单的表的触发动作。
--备货检验选单后 回写备货状态 CREATE OR REPLACE TRIGGER tri_TobaccoStockINSERT after INSERT ON "TobaccoStockQuality" FOR each ROW BEGIN UPDATE "GoodsStock" SET "FirstCheckState"=-1 WHERE "ID"=:NEW."GoodsStock_ID"; END; --备货检验修改选单后 回写备货状态 CREATE OR REPLACE TRIGGER tri_TobaccoStockUPDATE before UPDATE ON "TobaccoStockQuality" FOR each ROW BEGIN UPDATE "GoodsStock" SET "FirstCheckState"=decode(to_number(:NEW."AuditStatus"),0,-1) WHERE "ID"=:NEW."GoodsStock_ID"; IF :NEW."GoodsStock_ID"<>:OLD."GoodsStock_ID" THEN UPDATE "GoodsStock" SET "FirstCheckState"=-1 WHERE "ID"=:OLD."GoodsStock_ID"; END IF; END; --备货检验删除单据后 回写备货状态 CREATE OR REPLACE TRIGGER tri_TobaccoStockDELETE before DELETE ON "TobaccoStockQuality" FOR each ROW BEGIN UPDATE "GoodsStock" SET "FirstCheckState"=-1 WHERE "ID"=:OLD."GoodsStock_ID"; END;