2011-01-07 90 views
0

任何人都可以帮我弄清楚为什么我从SQL脚本中得到下面的错误?任何和所有的帮助,不胜感激。T-SQL将数据附加到NTEXT列

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

如果您发布的是代码或XML,请**在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮({})以精确地设置格式并使其语法突出显示! – 2011-01-07 16:07:24

回答

0

什么版本的SQL Server?我会强烈建议您将您的列更改为NVARCHAR(MAX) - NTEXT由于数据类型从SQL Server 2005开始不推荐使用,并且这只是一个极其痛苦的工作。

NVARCHAR(MAX)另一方面很容易支持所有通常的字符串操作函数,并且只是更容易使用!