DECLARE @NAME VARCHAR(800)
SELECT @NAME=@NAME+names FROM
A where ID=1111

解决方案 »

  1.   

    DECLARE @NAME VARCHAR(800)
    SELECT ID,@NAME=@NAME+names FROM
    A where ID=1111
      

  2.   

    大概是这样吧
    create function f_str(
    @id  int
    )returns varchar(8000)
    as
    begin
    declare @r varchar(8000)
    set @r=''
    select @r=@r+','+rtrim(XQDW)
    from 表 where id =@id 
    return(stuff(@r,1,1,''))
    end
    go
      

  3.   

    请问XQDW什么意思?
    我改成NAME后,他说“在TEXT属性的CREATE……语句中指定的名称必须与NAME属性匹配,而且后面必须跟有效的TSQL语句”
      

  4.   

    didoleo() ,我把原来的删了,把你的重新复制一下后就可以了~~真奇怪,然后我改其他的东西,又出现上面那个错误。。
      

  5.   

    CREATE FUNCTION [dbo].[test] (@id int)  
    RETURNS 
     varchar(500)
     AS  
    BEGIN 
      declare @string varchar(500)
      set @string=''
      select @string=@string+name   from A where ID=@id 
      return @string
    END
      

  6.   

    select ID,test(id) as names from A where ID=1111
      

  7.   

    create function f_str(
    @id  int
    )returns varchar(8000)
    as
    begin
    declare @r varchar(8000)
    set @r=''
    select @r=@r+','+rtrim(name)
    from 表 where id =@id 
    return(stuff(@r,1,1,''))
    end
    go
      

  8.   

    呵呵,来晚了, didoleo() 的方法应该可以。
      

  9.   

    这样可以
    create function f_str(
    @id  int
    )returns varchar(8000)
    as
    begin
    declare @r varchar(8000)
    set @r=''
    select @r=@r+','+names
    from a where id =@id 
    return(stuff(@r,1,1,''))
    end
    goselect id,dbo.f_str(id) from a where id=1 group by id