title: Firebird update or insert primary key violation
body: <p>I try to update or insert into a Firebird database table. </p>
  
  <p>But after a new entry, the next time I try to update I get a PK violation.</p>
  
  <p>Both times I use:</p>
  
  <pre><code> UPDATE OR INSERT INTO NAMES ( ID, NAME , SURENAME ) VALUES ( 123, 'Peter', 'Miller'  ) matching (Name)
  </code></pre>
  
  <p>But each time with different surnames. </p>
  
  <p>The ID is a PK in the table. And I generate the ID at the first time. </p>