Тестовый столбец существует, Добавить столбец и Обновить столбец
Я пытаюсь написать скрипт обновления базы данных 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, прежде чем я смогу обновить столбец. Я пробовал разные варианты, но быстро никуда не попал.