none
sql server2005里面如何在存储过程操作text、image字段 RRS feed

  • 问题

  • sql server2005里面如何在存储过程操作text、image字段:

    我的需求是需要把text字段的数据读出来,然后进行修改,最后更新到原text字段;

    看了msdn上sql server的

    Transact-SQL使用文档,

    但是发现并不能定义text或image的临时变量,那应该怎么使用writetext或updatetext去更新text类型的数据?

    如果不用临时变量,有什么方法可以进行text字段的修改更新?

    不够用

    Transact-SQL

    ,用其他语言也可以,最好是C
    2013年7月19日 1:20

答案

全部回复

  • The following example puts the text pointer into the local variable @ptrval, and then uses UPDATETEXT to update a spelling error.

    USE pubs;
    GO
    ALTER DATABASE pubs SET RECOVERY SIMPLE;
    GO
    DECLARE @ptrval binary(16);
    SELECT @ptrval = TEXTPTR(pr_info)
       FROM pub_info pr, publishers p
          WHERE p.pub_id = pr.pub_id
          AND p.pub_name = 'New Moon Books'
    UPDATETEXT pub_info.pr_info @ptrval 88 1 'b';
    GO
    ALTER DATABASE pubs SET RECOVERY FULL;
    GO


    Please Mark As Answer if it is helpful.

    2013年7月19日 1:30
  • Books online has details of all those.
    2013年7月19日 1:34
  • 要修改text/image片段,才用updatetext。你的需求是全部读出来,修改后全部更新,对吧?

    用varchar(max)和varbinary(max)类型的变量就可以了。

    text/image建议不要再使用了。


    想不想时已是想,不如不想都不想。

    2013年7月19日 4:02
    版主
  • 在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。 请避免在新开发工作中使用这些数据类型,并考虑修改当前已使用这些数据类型的应用程序。 请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。

    http://msdn.microsoft.com/zh-cn/library/ms187993.aspx



    2013年7月19日 9:43
    版主
  • thanks for your anwser,I've read the example in the msdn library, but not meet my requirement exactly,but thanks all the same.
    2013年7月20日 14:12
  • 感谢您的回复,我也找到可以用varchar(max)进行临时变量解决。
    • 已标记为答案 ivan_yip 2013年7月20日 14:13
    2013年7月20日 14:12