SQL——使用游标进行遍历
2024-08-29 07:05:23
前两天一个同事大叔问了这样一个问题,他要对表做个类似foreach的效果,问我怎么搞。我想了想,就拿游标回答他,当时事实上也没用过数据库中的游标,可是曾经用过ADO里面的,感觉应该几乎相同。
今天闲下来,百度下,做了个关于游标的小DEMO:
首先,让我们先来建张測试表:
USE LoadTest2010 CREATE TABLE testCursor /*创建測试表*/
( id INT,
name VARCHAR(50) ) --插入測试数据
INSERT INTO testCursor VALUES(1,'lhc')
INSERT INTO testCursor VALUES(2,'jay')
接着。我们使用游标对这张表进行一个循环的操作:
--首先定义暂时存储数据的变量,以供游标移动时当作Temp用
DECLARE @id INT
DECLARE @name VARCHAR(50) DECLARE cursorTest CURSOR FOR --定义游标
SELECT * FROM testCursor --定义使用游标的表 OPEN cursorTest --打开游标 FETCH NEXT FROM cursorTest INTO @id,@name --将游标向下移动一行,获取的数据放入之前定义的变量中 WHILE @@FETCH_STATUS=0 --推断是否成功获取数据 BEGIN
UPDATE testCursor SET name=name+'1'
WHERE id=@id --这里进行对应的处理。能够依据须要填入SQL语句
FETCH NEXT FROM cursorTest INTO @id,@name --将游标向下移动一行
END --关闭游标
CLOSE cursorTest
DEALLOCATE cursorTest
完毕之后。运行一下:
发现我们想要的循环效果出现了。。。。嘿嘿~~~
最新文章
- 简化 Web 应用程序与 Windows Azure Active Directory、ASP.NET 和 Visual Studio 的集成
- ATPCS和AAPCS
- windows8运行php Composer出现SSL报错的问题
- HDU 4593 H - Robot 水题
- linux0.11下的中断机制分析
- TFS环境搭建
- ionic android app 签名处理
- Gym Class(拓扑排序)
- hdoj 5319 Painter(模拟题)
- Linux ALSA声卡驱动之二:声卡的创建
- 【Android Developers Training】 66. 添加动画
- Python3 的分支与循环
- C# 语言历史版本特性(C# 1.0到C# 8.0汇总)
- 立即执行函数(自执行函数) IIFE
- 字符串以及for循环
- 04: linux基础总结
- asp.net c# 虾米音乐API
- Linux常用软件(以及特殊命令)清单(ubuntu)
- ORM--------Hibernate、Mybatis与Spring Data的区别
- 软件项目需求调研中的5W+1H定律案例分析
热门文章
- [CF235E]Number Challenge
- jQuery判断一个元素是否为另一个元素的子元素
- Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开
- MSGPACK序列和还原TFDParams
- 特征选取方法PCA与LDA
- SQL注入之导出WebShell
- 计算两个经纬度之间的距离(python算法)
- Hibernate 参数匹配查询
- vlan 介绍
- python 创建类先执行metaclass父类__new__ >; __init__>;__call__ 然后再执行自己的__new__>;__init__