Я пытаюсь написать сценарий обновления базы данных SQL Server. Я хочу проверить наличие столбца в таблице, а затем, если он не существует, добавьте столбец со значением по умолчанию и, наконец, обновите этот столбец на основе текущего значения другого столбца в той же таблице. Я хочу, чтобы этот скрипт выполнялся несколько раз, при первом обновлении таблицы и последующих запусках сценарий должен быть проигнорирован. Мой сценарий в настоящее время выглядит следующим образом:Test Column существует, Добавить столбец и Обновить столбец
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 возвращает ошибку «Invalid имя столбца" IsDownloadable», то есть мне нужно совершить DDL, прежде чем я могу обновить колонку. Я пробовал разные перестановки, но я быстро никуда не уходил.
Что-то, спасибо. –
Полное объяснение, спасибо – Vladimirs
Точно то, что я искал. Спасибо тебе за это. –