Nome da coluna inválida na atualização do sql server após a criação da coluna

Alguém vê o que há de errado com esse código para o SQL Server?

IF NOT EXISTS(SELECT *
              FROM   sys.columns
              WHERE  Name = 'OPT_LOCK'
                     AND object_ID = Object_id('REP_DSGN_SEC_GRP_LNK'))
  BEGIN
      ALTER TABLE REP_DSGN_SEC_GRP_LNK
        ADD OPT_LOCK NUMERIC(10, 0)

      UPDATE REP_DSGN_SEC_GRP_LNK
      SET    OPT_LOCK = 0

      ALTER TABLE REP_DSGN_SEC_GRP_LNK
        ALTER COLUMN OPT_LOCK NUMERIC(10, 0) NOT NULL
  END; 

Quando eu corro isso, eu recebo:

Msg 207, nível 16, estado 1, linha 3
Nome da coluna inválido "OPT_LOCK".

no comando update.

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion