一个数据插入触发器,当表A中插入一条数据时,根据其中一个字段的值查询另一表B中符合条件的记录(可能有N条记录),然后根据表B中某个字段的值逐个判断是否将数据插入表C,怎么写这个触发器,谢谢!

解决方案 »

  1.   

    表A:
     
    create table A
    (
      id                VARCHAR2(100) not null,
      value             NUMBER(18,2)
    )create table B
    (
     id        VARCHAR2(100) not null,
      zhi       NUMBER(18,2)
    )create table C
    (
      id                VARCHAR2(100) not null,
      value             NUMBER(18,2),
     zhi       NUMBER(18,2)
    )
    当表A有数据插入时,将插入的字段value的值表B中字段zhi的数据逐个对比,当表A的value大于表B的zhi时,将表A的数据插入到表C相应字段
      

  2.   


    INSERT INTO A (ID,VAULE) VALUES ('ad1ae75d-bb27-4fb8-afe8-381eafc0505c',29.40);
    INSERT INTO A (ID,VAULE) VALUES ('acbaae20-9ef5-4846-adb6-874ca3e550b1',30.40);
    INSERT INTO A (ID,VAULE) VALUES ('54a234b7-376c-4ffd-8fff-2bd836bf9cab',29.20);
    INSERT INTO A (ID,VAULE) VALUES ('31f34ea7-4e23-4606-8814-fb07c4cb463d',46.30);
    INSERT INTO A (ID,VAULE) VALUES ('3866ef03-dd9d-4e50-b900-42294cc5f879',55.10);
    INSERT INTO A (ID,VAULE) VALUES ('ec59fdc7-b418-420d-b388-057b6b049075',29.20);
    INSERT INTO A (ID,VAULE) VALUES ('3328be49-4116-4825-b100-8b2c0b4208c3',29.50);
    INSERT INTO B (ID,ZHI) VALUES ('ad1ae75d-bb27-4fb8-afe8-381eafc0505c',40.00);
    INSERT INTO B (ID,ZHI) VALUES ('acbaae20-9ef5-4846-adb6-874ca3e550b1',50.00);
    INSERT INTO B (ID,ZHI) VALUES ('54a234b7-376c-4ffd-8fff-2bd836bf9cab',60.00);