title: Violation of primary key in an INSERT INTO statement - does entire statement get terminated?
body: <p>I have a statement to update a table from another table</p>
  
  <pre><code>INSERT INTO table1 SELECT * FROM table2
  </code></pre>
  
  <p>Due to some rubbish test data still being in table1 (but a scenario that may occur in live, anything is possible), I get the error</p>
  
  <blockquote>
    <p>Violation of PRIMARY KEY constraint 'PK_xxx'. Cannot insert duplicate key in object 'table1'<br>
    The statement has been terminated</p>
  </blockquote>
  
  <p>If the <code>SELECT</code> from table2 returns 100 rows, is only the violating insert not committed to table1 or is the ENTIRE <code>INSERT INTO</code> statement not committed/rolled back due to the PK violation?</p>