OK, but you still need to be careful. That trick will only work if youinsert rows one at a time into the table. If you have a single insert
that inserts multiple rows (as in my example), it would fail because
the currval() call would return the same value for each row in the
insert created by the rule.
My advice would be to convert to triggers.
After going over your example a bit better, I think I will follow your advice.
Thanks a lot for the heads up.
Kind regards from Iceland,
Gissur Þórhallsson