drop table testtrig12 if exists;
drop table testtrig13 if exists;
create cached table testtrig12(id integer, data2 varchar(20), updated date);
create cached table testtrig13(id integer, data3 varchar(20), op varchar(10));
create view viewinst (vid, vdata2, vdata3) as select id, data2, data3 from testtrig12 natural join testtrig13
create trigger trigger2 instead of insert on viewinst
 referencing new row as newrow
 for each row
 begin atomic
 insert into testtrig12 values(newrow.vid, newrow.vdata2, current_date);
 insert into testtrig13 values (newrow.vid, newrow.vdata3, 'inserted');
 end

create trigger trigger3 instead of delete on viewinst
 referencing old row as oldrow
 for each row
 begin atomic
 delete from testtrig12 where testtrig12.id = oldrow.vid;
 delete from testtrig13 where testtrig13.id = oldrow.vid;
 end

create trigger trigger14 instead of update on viewinst
 referencing old row as oldrow new row as newrow
 for each row
 begin atomic
 update testtrig12 set data2 = newrow.vdata2, updated = current_date where testtrig12.id = oldrow.vid;
 update testtrig13 set data3 = newrow.vdata3, op = 'updated' where testtrig13.id = oldrow.vid;
 end

insert into viewinst values (1, 'data2 value1', 'data3 value1')
insert into viewinst values (2, 'data2 value2', 'data3 value2')

/*r
 1,data3 value1,inserted
 2,data3 value2,inserted
*/select * from testtrig13

update viewinst set vdata2='data2 updated1', vdata3='data3 updated1' where vid=1

delete from viewinst
