Какой тип данных использовать вместо типа данных ntext? - PullRequest
2 голосов
/ 12 мая 2011

Я хочу написать триггер для одной из моих таблиц с полем ntext datatype, как вы знаете, триггер не может быть записан для ntext datatype.Теперь я хочу заменить ntext на тип данных nvarchar.The ntext максимальная длина - 2 147 483 647 символов, тогда как nvarchar(max) - 4000 символов.какой тип данных я могу использовать вместо ntext типа данных.Или есть какие-либо способы записи триггера, когда у меня есть ntext тип данных?Лучше сказать, что моя база данных спроектирована ранее с использованием SQL 2000 и полна данных.

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Вам не повезло с SQL Server 2000, но вы можете связать воедино кучу переменных nvarchar (4000).Это взлом, но это может быть единственный вариант, который у вас есть.Я также оценил бы ваши данные и посмотрел, какие самые большие данные у вас есть в этом столбце.Часто столбцы создаются в ожидании большого набора данных, но, в конце концов, их нет.

0 голосов
/ 30 января 2014

в MSDN я вижу это: * Важно * Типы данных ntext, text и image будут удалены в следующей версии Microsoft SQL Server. Избегайте использования этих типов данных в новых разработках и планируйте модифицировать приложения, которые их используют в настоящее время. Вместо этого используйте nvarchar (max), varchar (max) и varbinary (max).

Фиксированные и переменные типы данных для хранения больших не-Unicode и Unicode-символов и двоичных данных. В данных Unicode используется набор символов UNICODE UCS-2.

и он предпочел nvarchar (MAX), вы можете увидеть детали ниже:

nvarchar [(n | max)] Строковые данные Unicode переменной длины. n определяет длину строки и может принимать значение от 1 до 4000. max указывает, что максимальный размер хранилища составляет 2 ^ 31-1 байт (2 ГБ). Размер хранилища в байтах в два раза превышает фактическую длину введенных данных + 2 байта. Синонимы ISO для nvarchar - это разные национальные и национальные символы.

...