insert into table1 values ('a', 'b') select * from table1 select * from table2and got the results that I would expect to get. table1 has a row {1,a,b} and table2 has a row {1, a, null}. The trigger is working as you would expect, although I still think that you should write it in a set-oriented fashion.