1、建立test数据库;

2、创建test1数据表;

test1表属性如下:

其中,ID字段设置为标识增量,增量种子为1;

这个实例是实现从第一行数据开始,将每一行最后一个字段值加下一行第二个字段值再减去第三个字段值,并用获得的新值更新当前行最后一个字段值,循环执行,直到所有记录均完成更新为止。(这段代码是我在MSDN上得到的启发,感谢MSDN上帮助过我的人,你们的帮助使我进步很多)

脚本代码如下:

USE[TEST]
GO
--定义所有需要的变量
--@i 存放当前ID号
--@Count 存放最后一个ID号
--@TempID 存放ID标识(存在为1,不存在为0)
--@Cuna 存放计算后的库存数
DECLARE @i INT,@Count INT,@TempID INT,@Cuna INT
--实现获得最后一个ID号
SELECT @Count=ID FROM TEST1
--读取第一条记录的ID号保存到@i中
SELECT TOP 1 @i=ID FROM test1
--更新第一条记录中的CUN字段值
UPDATE TEST1 SET CUN=JIN-CHU WHERE ID=@i
--读取更新后的CUN字段值赋值给临时变量@Cuna
SELECT @Cuna=CUN FROM TEST1 WHERE ID=@i
--@i自增1
SET @i=@i+1
--循环判断是否到达最后一条记录
WHILE(@i<=@Count)
BEGIN
--查找与ID与@i相等的记录
    SELECT @TempID=COUNT(1) FROM TEST1 WHERE ID=@i
    BEGIN
--记录不存在@i自增1
    IF(@TempID=0)
        SET @i=@i+1
    ELSE
--记录存在更新记录
        UPDATE TEST1 SET CUN=@Cuna+JIN-CHU WHERE ID=@i
--读取更新后的CUN字段值
        SELECT @Cuna=CUN FROM TEST1 WHERE ID=@i
    END
    BEGIN
--判断是否到达最后一条记录
    IF(@i>@Count)
--到达最后一条记录时执行退出
        BREAK
    ELSE
--为到达最后一条记录时@i自增1
        SET @i=@i+1
--继续返回WHILE处执行WHILE循环体语句
        CONTINUE
    END
END

业余编程 SQL 编程学习——1 (SQL Server 2008 R2)的更多相关文章

  1. SQL Server 2008 R2——学习/练习/错误/总结/搜集

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  2. SQL Server 2008 R2 的版本和组件

    SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2   其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...

  3. SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件

    原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...

  4. SQL Server 2008 R2 企业版 MSDN原版

    经网友建议,提供常用试验用资源.以下软件或系统仅为完成本博客内的各种实验而提供下载. 所有软件.系统均为该软件发布方提供的原版文件,未经任何修改.破解等操作.使用目的仅限于学习.测试及实验,符合国家相 ...

  5. window 服务器 安装 sql server 2008 r2 express 并启用远程访问

    目前市面上的数据库服务器虽然好,但是并不便宜,一个月数千RMB, 我们可以通过在已有的数据库上自建数据库来解决 目前已知的SQL Server 2008 R2的版本有: 企业版.标准版.工作组版.We ...

  6. SQL Server 2008 R2 根据.asmx访问WebService

    .asmx 都是.Net 同系列,所以学习的时候会比较简单. 方法一: 步骤1.在浏览器打开.asmx地址可以到方法列表, 步骤2.点进方法列表会有SOAP调用的案例, 步骤3.SQL Server ...

  7. 如何修改SQL Server 2008 R2数据库的内存

    本篇经验将和大家介绍如何修改SQL Server 2008 R2数据库的内存,希望对大家的工作和学习有所帮助! 工具/原料   SQL Sever 2008 R2数据库已安装 方法/步骤   1 打开 ...

  8. 利用SQL Server 2008 R2创建自动备份计划

    本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...

  9. Microsoft SQL Server 2008 R2 安装卸载

    问题 问题1 标题: Microsoft SQL Server 2008 R2 安装程序 ------------------------------ 出现以下错误: Could not open k ...

  10. SQL Server 2000向SQL Server 2008 R2推送数据

    [文章摘要]最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现.我们服务器使用的是SQL Server 2008 R2,其他“服务器”使用的 ...

随机推荐

  1. Python3学习之二Django搭建

    严格来讲,这篇应该是前一篇 的续集吧,这也属于环境搭建:搭建一个Web开发环境. 1,官网下载最新的Django,当前最新的是1.8.2.所以我就下的这个版本,下载下来的是一个gz包Django-1. ...

  2. KACK的处理方法

    demo: .eq { color:#f00;/*标准浏览器*/ color:#f30\0;/*IE8,IE9,opera*/ *color:#c00;/*IE7及IE6*/ _color:#600; ...

  3. 文件夹Tab Ctrl

    http://blog.163.com/gz_ricky/blog/static/1820491182011061180897/ 转载 Tab Ctrl Tab属性页控件可以在一个窗口中添加不同的页面 ...

  4. 【学习笔记】【oc】类和对象及类的三大基本特征

    1.类和对象 类是抽象化,对象是具体化. (1)定义类: 分为两个步骤,类的声明:定义类的成员变量和方法:@interface 用于声明定义类的接口部分,@end表面定义结束:. 成员变量的定义:{} ...

  5. python实现发工资脚本

    好开心啊,在旁边大神的帮助下,终于实现了发工资的python脚本,之前用shell写的老出错,刚才测试,发80个人工资详情,妥妥的,代码如下: from email.mime.multipart im ...

  6. Owncloud中文目錄包裹下載

    Owncloud提供私有雲端儲存環境的自由軟體解決方案,目前4.5版中文支援已經很完整,但是早期ZIP壓縮檔內的檔名不支援utf-8,所以使用ZIP格式下載整個目錄或多個檔案時大部分解縮軟體無法正確處 ...

  7. oschina大数据开源软件

    Hadoop 图形化用户界面 Hue 大数据可视化工具 Nanocubes 企业大数据平台 RedHadoop 大数据查询引擎 PrestoDB Hadoop集群监控工具 HTools 安全大数据分析 ...

  8. Linux系统编程(33)—— socket编程之TCP程序的错误处理

    上一篇的例子不仅功能简单,而且简单到几乎没有什么错误处理,我们知道,系统调用不能保证每次都成功,必须进行出错处理,这样一方面可以保证程序逻辑正常,另一方面可以迅速得到故障信息. 为使错误处理的代码不影 ...

  9. Linux系统编程(31)—— socket编程之TCP详解

    TCP有源端口号和目的端口号,通讯的双方由IP地址和端口号标识.32位序号.32位确认序号.窗口大小稍后详细解释.4位首部长度和IP协议头类似,表示TCP协议头的长度,以4字节为单位,因此TCP协议头 ...

  10. 【8】JAVA---地址App小软件(AddrDaoFile .class)(数据层)

    实现数据进行文件的存储和读写. 本软件也就到此结束了. 没多少可以讲的. 因为这个小软件也就8个类,主要学习的也就是一个分层思想的简单应用. package cn.hncu.addr.dao; imp ...