业余编程 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,其他“服务器”使用的 ...
随机推荐
- Ruby设计模式透析之 —— 适配器(Adapter)
转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/9400153 此为Java设计模式透析的拷贝版,专门为Ruby爱好者提供的,不熟悉R ...
- html5之web worker
Web Worker 在本文中 与 Web Worker 进行双向通信 WindowTimers 在 IE10 Platform Preview 4 中对 Web Worker 的更新 API 参 ...
- svn用法
SVN安装与启动服务 1.下载相应匹配版本的TortoiseSVN(客户端)和Subversion(客户端),安装完毕之后. 2.配置相关文件. 选择TortoiseSVN-->create r ...
- WordPress插件制作笔记(一)---First Plugins Demo
1->add_action HOOK简单说明: http://codex.wordpress.org/Plugin_API/Action_Reference (参考网址) //在后台页脚位置加 ...
- 【创建型】Singleton模式
单例模式可以说是所有23种设计模式中最为简单的一个,没有之一.其主要思想就是保证整个应用环境中,最多只会有一个对象的实例.类关系图参考如下: 在c++中,单例模式的实现,较为常用的实现方式一般为: n ...
- iOS开发——C篇&预处理
其实在C语言的远行过程中,有这样一个流程, 编译:C----〉可执行文件(可以运行的) 1:.C------.i 预处理(之前和之后还是C语法)2: .i-------.s 编译(之前是C语法,之后是 ...
- 标签 Attribute
在一个类上面放一个标签,可以用来表示一些特定规则,比如某个对象的某个属性不想被json化,那么我们在它头上放个标签就行了,或是做ORM时指定某个Class对应的table名字等. 最后标签是通过反射来 ...
- 读、写SD上的文件请按如下步骤进行
1.调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限.例如使用如下代码//Environment.getE ...
- BaseFragment
public abstract class BaseFragment extends Fragment { public FragmentActivity mActivity; /** * 此方法可以 ...
- centos6.5+Django+mysql+nginx+uwsgi
centos6.5+Django+mysql+nginx+uwsgi 1.nginx的安装.这里采用nginx-1.6.0, 建立一个shell脚本然后执行. #!/bin/bash nginx_ve ...
