业余编程 SQL 编程学习——1 (SQL Server 2008 R2)
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)的更多相关文章
- SQL Server 2008 R2——学习/练习/错误/总结/搜集
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- SQL Server 2008 R2 的版本和组件
SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2 其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...
- SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...
- SQL Server 2008 R2 企业版 MSDN原版
经网友建议,提供常用试验用资源.以下软件或系统仅为完成本博客内的各种实验而提供下载. 所有软件.系统均为该软件发布方提供的原版文件,未经任何修改.破解等操作.使用目的仅限于学习.测试及实验,符合国家相 ...
- window 服务器 安装 sql server 2008 r2 express 并启用远程访问
目前市面上的数据库服务器虽然好,但是并不便宜,一个月数千RMB, 我们可以通过在已有的数据库上自建数据库来解决 目前已知的SQL Server 2008 R2的版本有: 企业版.标准版.工作组版.We ...
- SQL Server 2008 R2 根据.asmx访问WebService
.asmx 都是.Net 同系列,所以学习的时候会比较简单. 方法一: 步骤1.在浏览器打开.asmx地址可以到方法列表, 步骤2.点进方法列表会有SOAP调用的案例, 步骤3.SQL Server ...
- 如何修改SQL Server 2008 R2数据库的内存
本篇经验将和大家介绍如何修改SQL Server 2008 R2数据库的内存,希望对大家的工作和学习有所帮助! 工具/原料 SQL Sever 2008 R2数据库已安装 方法/步骤 1 打开 ...
- 利用SQL Server 2008 R2创建自动备份计划
本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...
- Microsoft SQL Server 2008 R2 安装卸载
问题 问题1 标题: Microsoft SQL Server 2008 R2 安装程序 ------------------------------ 出现以下错误: Could not open k ...
- SQL Server 2000向SQL Server 2008 R2推送数据
[文章摘要]最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现.我们服务器使用的是SQL Server 2008 R2,其他“服务器”使用的 ...
随机推荐
- storm之8:并行度
(一)storm拓扑的并行度可以从以下4个维度进行设置:1.node(服务器):指一个storm集群中的supervisor服务器数量.2.worker(jvm进程):指整个拓扑中worker进程的总 ...
- 一行代码实现C#的四舍五入
C# 使用的是”四舍六入五成双”的银行家算法: 1 2 Math.Round(2.5); // 2 Math.Round(1.5); // 2 由此可见,1.5的Round符合我们的四舍五入,于是Ha ...
- vs code(egret wing) php配置与调试
所需插件 下面是便于编写以及调试php的插件,可以从IDE Store中搜索. PHP Debug,PHP IntelliSense,PHP IntelliSence Cranne. 环境配置 找到项 ...
- python MySQLdb、socket与进线程
1 centos下 安装MySQLdb模块 a 首先需要先安装 setuptool b yum install -y mysql_devel 头文件 c yum install -y python_d ...
- C#中的枚举器(转)
术语表 Iterator:枚举器(迭代器) 如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的.这在C# 2.0中比 C# 1.1更容 ...
- Java内部类和外部类的通信探索
1.内部类访问外部类的成员和方法 在内部类中,可以无障碍地访问外部类的所有成员和方法. 在下面的实验代码中,可以看到,内部类sl可以访问外部类的私有成员:sz 和 cur. 同时可以访问私有方法:pr ...
- == 与 is
Python中的对象包含三要素:id.type.valueid:用来唯一标识一个对象: type:标识对象的类型: value是对象的值. ==是判断对象的值是否相等,也就是value,is是判断对象 ...
- xpath应用
import java.io.File; import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.El ...
- XML解析方式与解析工具
DOM解析原理: 1)JAXP (oracle-Sun公司官方) 2)JDOM工具(非官方) 3)Dom4J工具(非官方) 三大框架(默认读取xml的工具就是Dom4j) ....... SAX解析原 ...
- 防止ajax非正常访问
http://www.cnblogs.com/yagzh2000/archive/2013/06/09/3128042.html http://www.cnblogs.com/henw/archive ...
