Nombre de columna no válido en la actualización del servidor SQL después de crear la columna

¿Alguien ve lo que está mal con este código para 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; 

Cuando ejecuto esto, me sale:

Mensaje 207, Nivel 16, Estado 1, Línea 3
Nombre de columna no válido 'OPT_LOCK'.

en el comando de actualización.

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta