title: How to migrate 'on conflict do nothing' from PostgreSQL to Snowflake?
body: <p>I am migrating a huge chunk of PostgreSQL script to work in Snowflake. The problem that stopped me is <code>on conflict</code> syntax and specifically when you use <code>on conflict do nothing</code>.</p>
  
  <pre><code>insert into table1
    select 
      user_id
    , something_else
  from table2
  on conflict do nothing;
  </code></pre>
  
  <p>Some propose the "equivalent" of <code>on conflict</code> from Postgres is using <code>merge into</code>, <a href="https://stackoverflow.com/questions/17267417/how-to-upsert-merge-insert-on-duplicate-update-in-postgresql">some are not happy about it</a>. However when you use <code>merge into</code> you have to specify an <code>on &lt;CONDITION&gt;</code> clause, e.g. <code>merge into t1 using t2 on t1.id = t2.id ...</code>. </p>
  
  <p>But in case of <code>on conflict do nothing</code> what should be the alternative?</p>
  
  <p>When using <code>merge into</code> is there a less verbose syntax than specifying every column in these cases? (Imagine you have 15 columns and you have to write <em>every one of them</em>).</p>