业余编程 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,其他“服务器”使用的 ...
随机推荐
- 带格式导出数据到Excel
导出按钮事件 protected void Button1_Click(object sender, EventArgs e) { Response.Clear(); ...
- 无缝滚动js (手写通俗易懂)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- python requests 基础学习
首先,Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 不友好.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来 ...
- phpwind伪静态规则(IIS,Nginx,Apache)的介绍及代码
phpwind iis下伪静态规则[ISAPI_Rewrite]RewriteRule ^(.*)/(.*)-htm-(.*)-(.*).html$ $1/$2.php?$3=$4RewriteRul ...
- PHPCMS v9构建模块
■补课: 1.phpcms v9帮助文件,上面会写关于二次开发的一些方法. http://v9.help.phpcms.cn/ 2.找一个后台还没安装的模块,先把代码看一边.比如dianping模块 ...
- IIS6添加5.3.27 /西部数据网站管理助理升级php
下载并安装IIS FastCGI 下载地址:http://www.iis.net/download/fastcgi. 选择 x86或者download x86,下载下来名称为 fcgisetup_1. ...
- Swift语法之 ---- ?和!区别
1.常量和变量 Swift语言中是用let来定义常量,并且要初始化.var来定义变量,在let或者var后面申明类型,冒号+空格,然后再加上类型名称. 2.optional(可选)变量 可选变量用于处 ...
- Chrome下的语音控制框架MyVoix.js使用篇(四)
在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...
- [布局] bootstrap基本标签总结
文件头: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <titl ...
- 在QTreeWidget中删除QTreeWidgetItem
我就想删除topLevelItem stackoverflow上是这样说的: http://stackoverflow.com/questions/9392051/how-do-i-delete-a ...