UPDATETEXT { table_name.dest_column_name dest_text_ptr } 
    { NULL | insert_offset }
    { NULL | delete_length }
    [ WITH LOG ]
    [ inserted_data
        | { table_name.src_column_name src_text_ptr } ]

解决方案 »

  1.   

    关闭text in row属性
    sp_tableoption N'MyTable', 'text in row', 'OFF'http://msdn.microsoft.com/en-us/library/aa933093.aspx
      

  2.   

    2000?还是2005?如果是2005尽量不要用text,ntext类型,用varchar(max),和nvarchar(max)替换
      

  3.   

    回3楼:
      是ms sql 2000回2楼:
      sp_tableoption N'MyTable', 'text in row', 'OFF'
      我在查询分析器里面执行成功了,但问题还是存在回1楼:
      我也用writetext试过,
      
    DECLARE @ptrval varbinary(16)
    SELECT @ptrval = TEXTPTR(col1) FROM table1
    writetext table1.col1 @ptrval '5000多字节'但问题依然存在,我读出来的时候是用select col1 from table1这种方法,读的方法不对?
      

  4.   

    虽然不知道你为什么取出来丢失字符了,但我感觉可以有一种替代方案,重新设计一下你的表。把更新的text分割到多条记录,保证每条小于4000。