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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 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 ('000290
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 


 

 

 

 

 

 

 

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
10月前
|
存储 SQL API
|
2月前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
3月前
|
SQL 存储
SQL Server基本函数
SQL Server基本函数
|
9月前
|
SQL
sql server 游标的使用
sql server 游标的使用
42 0
|
10月前
|
存储
SqlServer游标的创建与使用(下)
SqlServer游标的创建与使用(下)
|
SQL
SQL Server SQL函数
SQL Server SQL函数
76 0
|
SQL XML 算法
SQL Server 2000 函数使用---CAST 和 CONVERT
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
|
SQL 存储 程序员
【Sql Server】sql语句文件组分区函数分组方案对应分区表的简单步骤
本篇文章中,主要讲讲sql server数据库中通过sql语句方式对组分区函数的使用 在实际项目中,sql server数据库中有分区的概念,因为在一个表存在大量数据的情况下,需要通过分区方式保存数据来提供查询性能
155 0
|
存储 SQL 程序员
【Sql Server】基础之IF ELSE的使用,以及len和substring、convert函数的使用
如果有经常使用触发器或者写存储过程的同学,那么一定不会少用判断语句if_else 假如有一个需求,就是通过语句的方式添加一条记录,添加记录前需要判断当前文本的前60%的文本不能有所重复,其实就是判断某个字段文本不能重复的需求
223 0
【Sql Server】基础之IF ELSE的使用,以及len和substring、convert函数的使用
|
存储 SQL 程序员
【Sql Server】 使用游标循环记录更新字段值
使用游标循环记录更新字段值
327 0
【Sql Server】 使用游标循环记录更新字段值