У меня есть много (более тысячи мест) устаревшего кода T-SQL
, который превращает INSERT
s в столбец varchar(8000)
в служебной таблице. Наши потребности изменились, и теперь этот столбец должен обрабатывать большие значения. В результате мне нужно сделать этот столбец varchar(max)
. Это просто простой столбец данных, в котором нет предварительно выполненных поисков, нет индекса по нему, только одна процедура читает его, это INSERT
и забыто для приложения (почти как запись в журнале).
Я планирую внести изменения только в нескольких местах, которые на самом деле будут генерировать большие данные, и в одной хранимой процедуре, которая обрабатывает этот столбец.
- Есть ли какие-либо скрытые ловушки, изменяющие столбец с
varchar(8000)
на varchar(max)
?
- Будут ли все строковые функции
T-SQL
работать одинаково, LEN()
, RTRIM()
, SUBSTRING()
и т. Д.
- Может кто-нибудь представить себе причину, по которой мне пришлось бы вносить какие-либо изменения в код, который считает, что столбец все еще
varchar(8000)
?