平台:sql2005 
问题:在存储过程中有两个变量如下:
        declare @s1  int ,
        declare @s2  varchar(50)
    且有个表T,T中有字段t1(int),t2(varchar)问题:我想通过一些语句将表T中的count(t1)和t2赋值给上面定义的@s1和@s2,并显示出来。谢谢

解决方案 »

  1.   

    select @sq=sum(1) from t
    print @sq
      

  2.   


    --查询
    select @s1=count(t1) from T
    --显示
    select @sql
      

  3.   


    declare @s1  int , 
            declare @s2  varchar(50) 
    set @s1=select count(1) from t1
    select @s1
      

  4.   

    select @s1=count(t1) from t
    print @s1
      

  5.   

    set @s2=''
    select @s2=@s2+','+t2 from t
    print right(@t,len(@t)-1)
      

  6.   


    --如果只有一条记录
    select @s2=t2 from T
    --显示
    select @s2
      

  7.   

    谢谢楼上..
    在谦虚请教下,
    那如果用动态sql语句的话应该怎么写呢?
      

  8.   

    set @s2=''
    select @s2=@s2+','+t2 from t
    print right(@s2,len(@s2)-1)
      

  9.   


    declare @sql nvarchar(100),@s1 int
    set @sql='select @count=count(1) from 表名'
    exec sp_executesql @sql,N'@count int output',@s1 output
    print  @s1
      

  10.   

    非常感谢大大..^_^~
    最后问下,那如果我想将@s2也代到@sql里该如何回参呢?
    类似这样:
    set @sql='select @count=count(1),这里在取一个字段出来 from 表名' 
    那后面的exec sp_executesql @sql怎么取两个回参呢?