Mam dużo (ponad tysiąc miejsc) starego kodu T-SQL
, który powoduje, że s jest w kolumnie varchar(8000)
w tabeli narzędzi. Nasze potrzeby uległy zmianie i teraz kolumna musi być w stanie obsłużyć większe wartości. W rezultacie muszę utworzyć tę kolumnę varchar(max)
. Jest to zwykła kolumna danych, w której nie ma wstępnych wyszukiwań, żadnego indeksu, tylko jedna procedura odczytuje ją, jest INSERT
i zapomina o aplikacji (prawie jak wpis w dzienniku).Jakieś ukryte pułapki zmieniające kolumnę z varchar (8000) na varchar (max)?
Mam zamiar wprowadzić zmiany tylko w kilku miejscach, które faktycznie będą generować większe dane, oraz w pojedynczej procedurze przechowywanej, która przetwarza tę kolumnę.
- Czy są jakieś ukryte pułapki zmieniające kolumnę z
varchar(8000)
navarchar(max)
? - Czy wszystkie
T-SQL
funkcje ciąg działają tak samo,LEN()
,RTRIM()
,SUBSTRING()
itp - Czy ktoś może sobie wyobrazić żadnego powodu, bym trzeba wprowadzać żadnych zmian w kodzie, który uważa, że kolumna jest nadal
varchar(8000)
?
Dlaczego nie można przełączyć się na kolumnie tekstowej? – Maz
@Max Są rzeczy, których nie można wykonać na kolumnie TEXT, że Twoja puszka na VARCHAR (MAX) (takie jak zapytania DISTINCT) –
funkcje agregacji i kolumny tekstowe nie idą zbyt dobrze, chociaż ... – riffnl