title: Trouble updating new column after adding it
body: <p>Given the following SQL:</p>
  
  <pre><code>IF EXISTS (SELECT * FROM sys.columns WHERE name = 'NewFieldName' AND object_id = OBJECT_ID('dbo.MyTableName'))
      RETURN
  
  -- Add NewFieldName column to part of the Summer 2012 release cycle.
  ALTER TABLE dbo.[MyTableName] ADD
      [NewFieldName] SmallINT NOT NULL
          CONSTRAINT DF_MyTableName_NewFieldName DEFAULT (2)
  
  UPDATE [MyTableName] SET NewFieldName = 1 WHERE [Name] = 'FindMe' --Update one specific value
  </code></pre>
  
  <p>Produces the following error message:</p>
  
  <blockquote>
    <p>Msg 207, Level 16, State 1, Line 10 Invalid column name
    'NewFieldName'.</p>
  </blockquote>
  
  <p>I'm sure I'm missing something basic, but trying to put "GO" after the alter makes the UPDATE run everytime and I don't want to do that.</p>
  
  <p>How can I structure this statement so that it will check to see if the column exists and, if it doesn't add it and then set the values as stated in my UPDATE statements?</p>