К сожалению, для независимого от базы данных решения вам нужно будет знать все о столбце. Если он используется в других таблицах как внешний ключ, их также необходимо будет изменить.
ALTER TABLE MyTable ADD MyNewColumn OLD_COLUMN_TYPE;
UPDATE MyTable SET MyNewColumn = MyOldColumn;
-- add all necessary triggers and constraints to the new column...
-- update all foreign key usages to point to the new column...
ALTER TABLE MyTable DROP COLUMN MyOldColumn;
Для самых простых случаев (без ограничений, триггеров, указателей или ключей), это займет 3 строки. Для чего-то более сложного он может стать очень грязным, когда вы заполняете недостающие части.
Однако, как уже упоминалось выше, существуют более простые методы, специфичные для базы данных, если вы знаете, какую базу данных вам нужно досрочно модифицировать.
Какая система баз данных? – skaffman 2008-10-06 14:52:44
Вторичный скаффман, это не вопрос «SQL», это (возможно) вопрос «SQLServer». – 2008-10-06 15:04:33
Любая система баз данных, предназначенная для использования SQL. Oracle, MySQL и т. Д. Я ищу независимый от базы данных ответ. – MetroidFan2002 2008-10-06 15:08:44