CyberMax писал(а):И могут ли в будущем сделать проверку при ALTER COLUMN varchar-поля в сторону уменьшения длины на невыход фактических длин строк поля за указанные пределы и принятия изменения в случае положительного результата?
Tonal писал(а):Стартанули снапшот, проверили длинны, если блоьше - откатились, меньше alter table... + commit.
В чём проблемы?
объясняю двадцатый раз:
1. в базе может быть туча записей не видимых конкретной транзакции
2. индекс всегда при создании "видит" все версии
3. штатного уменьшения размера строки в сервере нет.
4. про столбцы с зависимостями, индексами и т.п. я вообще умолчу.
5. если делать проверку, то делать для любых преобразований типов из типа А в тип Б, а не только на длину строки. Т.е. вместо вас, задумчивых девелоперов, это должен делать сервер? А если там будет 500 тысяч версий, скажем, удаленных другой транзакцией? Ах, они же "удаленные"? Ой, а почему мне сервер через два часа после alter выдал отлуп?
select CAST(FIELD as NEWFIELDTYPE) from TABLE
мойте руки ПЕРЕД едой. А не во время и не после.