T-SQL добавление данных в столбец NTEXT - PullRequest
0 голосов
/ 07 января 2011

Может кто-нибудь помочь мне понять, почему я получаю ошибку ниже из сценария SQL?Любая помощь приветствуется.

DECLARE @Comment AS VARCHAR(2000) 
DECLARE @Len AS INT
SET @Comment = 'This is a test and only a test!'
SET @Len = LEN(@Comment)
DECLARE @ptr varbinary(16)
SELECT @ptr = TEXTPTR(Comments)
FROM [dbo].[StudentInfringement] AS SI
WHERE [SI].[InfringementId] = 2
UPDATETEXT [dbo].[StudentInfringement].[Comments] @ptr @Len NULL @Comment

Сообщение об ошибке:

Сообщение 7135, Уровень 16, Состояние 3, Строка 9 Длина удаления -19 не находится в диапазонедоступного текста, ntext или данных изображения.Заявление было прекращено.

1 Ответ

0 голосов
/ 07 января 2011

Какая версия SQL Server ?? Я бы настоятельно рекомендовал бы изменить столбец на NVARCHAR(MAX) - NTEXT, поскольку с SQL Server 2005 тип данных устарел, и работать с ним просто ужасно.

NVARCHAR(MAX), с другой стороны, легко поддерживает все обычные функции манипуляции со строками, и было бы намного проще в использовании!

...