存储过程返回值在存储过程中获取,获得表的行数

SQL存储过程返回值在存储过程中获取,获得表的行数 带分组条件

create proc aa
  @table varchar(100), --表名
  @whereN varchar(1000),--条件
  @group varchar(1000), --分组
  @Result int output
 as
declare @user int
declare @moTable varchar(20)
set @moTable = @Table
declare @sql nvarchar(4000)  --定义变量,注意类型
set @sql='select @user = count(*)  from [email=[B]'+@moTable+']'+@moTable+'[/email] where [email=[B]'+@whereN]'+@whereN[/email] +' group
 by [email=[B]'+@group]'+@group[/email]
--为变量赋值--执行@sql中的语句
exec sp_executesql @sql  ,
[email=[B]N'@user]N'@user[/email] int out',  --表示@sql中的语句包含了一个输出参数  ,
@user out     --和调用存储过程差不多,指定输出参数值
set @Result=@user  --输出参数与sql语句中的输出赋值
print @Result  --打印
go

  

posted @ 2014-04-05 13:40  不再孤单  阅读(2013)  评论(0编辑  收藏  举报