create procedure dbo.GetCountByName--存储过程名字
@Name varchar(100)--传入的参数
as
begin
--定义临时表 数据 用于测试
declare @Tmptable table
(
Name varchar(100),
count int
)
insert into @Tmptable values('Tom',1)
insert into @Tmptable values('Jack',2)
insert into @Tmptable values('Tom',6)
--定义临时表 数据 用于测试
declare @Result int--返回的汇总数
set @Result=0
declare @selName varchar(100)
declare @selcount int
declae myCursor cursor for select Name,count from @Tmptable--定义游标
declare @item int
--启用游标 访问的字段个数与 定义的游标中的字段一致
open myCursor fetch next from myCursor into @selName, @selcount
while @@fetch_status=0
if@Name=@selName--名字一样时,把count值相加
begin
set @Result=@Result+@selcount
end
fetch next from myCursor into @selName,@selcount
end
close myCursor--关闭游标
deallocate myCursor--释放
--最终返回的数据
select @Name+'的合计为:'+ convert(varchar,@Result)--返回想要的结果
end
go
--执行语句: exec dbo.GetCountByName 'Tom'
--返回结果: Tom的合计为:7
网友评论