好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Oracle触发器实例代码

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

查看更多关于Oracle触发器实例代码的详细内容...

  阅读:24次