您的位置:首页 > 数据库

SQLserver用游标实现循环 和 简单的量值函数

2016-02-20 23:26 260 查看
declare @sums numeric(15,2)    -- 这里必须要写上位数,不然默认为整数
declare @cltno varchar(32)
declare @feeMoney numeric(15,2)
declare cur cursor for sELECT  CltNo FROM  memberinfo WHERE CltNo NOT IN ('00029098','00027565')   -- 定义游标
select @sums = 0.0
open cur                                                                            --打开游标
fetch next from cur  into @cltno
while @@fetch_status = 0
begin
SELECT @feeMoney = fee
FROM Ns_CMS_Gettable(@cltno,
'2015-10-01',
'22');
select  @sums = @sums + @feeMoney;
fetch next  from cur into @cltno
end
close cur                                                             -- 关闭游标
Deallocate cur                                                        -- 删除游标
print @sums                                                         -- 输出
print cast(@sums as varchar(10)) + 'ddddddd'     -- 把数字类型转换成字符串


函数

create FUNCTION [dbo].[ns_cms_getnewfeemoney](@cid int)
returns numeric(15,2)
as
begin
declare @sums numeric(15,2)
declare @cltno varchar(32)
declare @feeMoney numeric(15,2)
declare cur cursor for sELECT  CltNo FROM  memberinfo WHERE CltNo NOT IN ('00029098','00027565')   -- 定义游标
begin
select @sums = 0.0
open cur
fetch next from cur  into @cltno
while @@fetch_status = 0
begin
SELECT @feeMoney = fee
FROM Ns_CMS_Gettable(@cltno,
'2015-10-01',
'22');
select  @sums = @sums + @feeMoney;
fetch next  from cur into @cltno
end
close cur                                                             -- 关闭游标
Deallocate cur                                                        -- 删除游标
end
RETURN @sums
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: