Тестовый столбец существует, Добавить столбец и Обновить столбец

Я пытаюсь написать скрипт обновления базы данных SQL Server. Я хочу проверить наличие столбца в таблице, затем, если он не существует, добавить столбец со значением по умолчанию и, наконец, обновить этот столбец на основе текущего значения другого столбца в той же таблице. Я хочу, чтобы этот скрипт запускался несколько раз, при первом обновлении таблицы и при последующих запусках этот скрипт должен игнорироваться. Мой скрипт в настоящее время выглядит следующим образом:

IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'PurchaseOrder' AND COLUMN_NAME = 'IsDownloadable')
BEGIN

ALTER TABLE [dbo].[PurchaseOrder] ADD [IsDownloadable] bit NOT NULL DEFAULT 0

UPDATE [dbo].[PurchaseOrder] SET [IsDownloadable] = 1 WHERE [Ref] IS NOT NULL

END

SQL Server возвращает ошибку «Неверное имя столбца« IsDownloadable »», т. Е. Мне нужно зафиксировать DDL, прежде чем я смогу обновить столбец. Я пробовал разные варианты, но быстро никуда не попал.

Ответы на вопрос(4)

Ваш ответ на вопрос