This is basic oracle error, violation of the primary (unique) key. So I suppose that you have some INSERT statement in your trigger code, that's doing the same thing twice. Possible scenario is that you're inserted something (in some other table?) when you created that row you're updating, and then it's inserted again when you tried to update it. Revise your code, and maybe solution is to put code into POST-INSERT or PRE-INSERT trigger.