Oracle触发器,用于选单后修改选单的表的触发动作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
--备货检验选单后 回写备货状态 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 ; |
以上所述是小编给大家介绍的Oracle触发器实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.2cto.com/database/201704/633269.html