错误提示:
Server: Msg 170, Level 15, State 1, Procedure Manage_FAQ_Begin, Line 18
Line 18: Incorrect syntax near '@noteptr'.

解决方案 »

  1.   

    create procedure Manage_FAQ_Begin
    @userid int,
    @id int,
    @Topicid int,
    @State varchar(5) output,
    @Answer text ='1111111111111111111111111111111111111111111112222222222'output
    asgo
    这样好像可以通过呀!
      

  2.   

    readtext,writetext只用于带有text,image,ntext类型的列的数据的读取和写入,不能用于单个变量的操作吧。(请大家评判)至于变量的赋值,考虑中。
      

  3.   

    有两个 text、ntext 和 image 函数专门用于对 text、ntext 和 image 数据所进行的操作: TEXTPTR 返回 binary(16) 对象,该对象包含指向 text、ntext 或 image 实例的指针。指针一直有效,直到删除该行。
    TEXTVALID 函数用来检查指定的文本指针是否有效。 
    文本指针被传递到用于操作 text、ntext 和 image 数据的 READTEXT、UPDATETEXT、WRITETEXT、PATINDEX、DATALENGTH 和 SET TEXTSIZE Transact-SQL 语句。
      

  4.   

    估计不行,不能这样用,我去掉你最后一行报错:
    对于 TEXTPTR 函数,只有 text、ntext 和 image 列有效。
    create procedure Manage_FAQ_Begin
    @userid int,
    @id int,
    @Topicid int,
    @State varchar(5) output,
    @Answer text output
    as
    declare @noteptr binary(16)
    select @State = 'add'
    select @noteptr = textptr(@Answer)
    --writetext @Answer @noteptr '1111111111111111111111111111111111111111111112222222222'
    go
      

  5.   

    突然想到一個方法,但沒有測試過,不知道行還是不行。create procedure Manage_FAQ_Begin
    @userid int,
    @id int,
    @Topicid int,
    @State varchar(5) output,
    @Answer text output
    as
    declare @noteptr binary(16)
    select @State = 'add'
    Declare abc CURSOR FOR Select '1111111111111111111111111111111111111111111112222222222' as Txt
    Open abc
    FETCH NEXT From abc INTO @Answer
    Print cast(@Answer as varchar)
    Close abc
    Deallocate abc
    go
      

  6.   

    如何对text,image等类型的字段赋初值?
    我很想知道,谢谢!
      

  7.   

    The text,ntext and image data types are invalid for local variables.
      

  8.   

    在存储过程中,text,image是不能用来作变量的,不过,微软又说可以作参数,我也很不解,既然可以作参数,那能不能作输出参数呢?另外又怎样给这个输出参数赋值,这真是难题!
       前面有几为仁兄说到了怎样赋值(采用函数),我就不谈了,不过我上述不解,希望大家多加探讨!
      

  9.   

    便当:
    declare @tt text
    declare @ss varbinary(6)set @ss=textptr(info)
    set @@tt=convert(text,@ss)
      

  10.   

    输入参数可以是任意的数据类型(包刮text,ntext,image),但是,输入参数的数据类型不可是cursor数据类型,cursor数据类型只能做为输出参数的数据类型,
    我想对于给变量付值应该只能是用"set" 吧