Мне нужно изменить логику вычислений для существующего вычисленного столбца в SQL Server.SQL Server: как воссоздать вычисленный столбец * только один раз *
И я хочу сохранить имя столбца без изменений.
Я написал сценарий для выполнения этой работы. И сценарий будет
- Отбросьте вычисляемый столбец
- Воссоздать вычисляемый столбец с новой вычислительной логики с таким же именем.
Проблема заключается в том, что этот сценарий может работать несколько раз в будущем, однако я не хочу, чтобы этот скрипт падал и создавал столбец каждый раз.
Есть ли способ избежать удаления этого столбца и создания его более одного раза?
Один из способов, которым я мог подумать, - создать фиктивное ограничение проверки. Итак, перед тем, как сбросить и воссоздать вычисляемый столбец, сначала проверьте, существует ли это ограничение проверки фиктивных ошибок.
Если он не существует, то создайте ограничение фиктивной строки и отпустите/создайте вычисленный столбец.
Не уверен, есть ли другой простой способ решить эту проблему.
Зачем вам это нужно? - Я думаю, что у вас может быть два столбца, затем создать два представления из вашей таблицы, а затем использовать каждое из этих представлений (с одинаковым столбцом имен из разных столбцов) в ваших случаях;). –
Я думаю, что вычисляемая колонна здесь не имеет значения. Этот вопрос, похоже, сводится к тому, «как мне избежать выполнения работ по техническому обслуживанию более одного раза?» что является довольно широкой темой. –
Для нормальных столбцов это довольно просто, я могу обновить данные столбца напрямую без капли и воссоздания. Однако он отличается от вычисленного столбца. – Buzz