sqlserver循环
普通while循环
1 循环5来修改学生信息
循环遍历修改记录
DECLARE @i int
set @i=0
while @i<5
BEGIN
update Student set demo = demo+5 WHERE Uid=@i
set @i=@i +1
--PRINT @i
END
2 游标循环(没有事务)
----游标循环(没有事务)
BEGIN
DECLARE @a INT,@error INT
DECLARE @temp NVARCHAR(50)
SET @a=1
SET @error=0
-----申明游标为uid
DECLARE order_cursor CURSOR
FOR (SELECT [Uid] FROM Student)
-----打开游标
OPEN order_cursor
---- 开始循环游标变量
FETCH NEXT FROM order_cursor INTO @temp
WHILE @@FETCH_STATUS=0 -----返回被FETCH语句执行的最后游标的状态
BEGIN
UPDATE student SET Age=15+@a,demo=@a WHERE uid=@temp
SET @a=@a+1
SET @error=@error+@@ERROR ------记录每次运行sql后是否正确 0正确
FETCH NEXT FROM order_cursor INTO @temp -----转到下一个游标,没有会死循环
END
CLOSE order_cursor ----关闭游标
DEALLOCATE order_cursor ---释放游标
END
3 包含事务
---游标循环遍历--
BEGIN
DECLARE @a INT ,@error INT
DECLARE @temp VARCHAR(50)
SET @a=1
SET @error=0
BEGIN TRAN
DECLARE order_cursor CURSOR
FOR(SELECT uid FROM student)
OPEN order_cursor
FETCH NEXT FROM order_cursor INTO @temp
WHILE @@FETCH_STATUS=0 ---返回被fetch语句执行的最后游标的状态
BEGIN
UPDATE student SET age=40+@a,demo=@a WHERE uid=@temp
SET @a=@a+1
SET @error=@error+@@ERROR
FETCH NEXT FROM order_cursor INTO @temp ----转到下一个游标
END
IF(@error=0)
BEGIN
COMMIT TRAN
END
ELSE
BEGIN
ROLLBACK TRAN
END
CLOSE order_cursor
DEALLOCATE order_cursor
END
4 https://blog.csdn.net/lockepeak/article/details/2632904
转载于:https://www.cnblogs.com/onroad2016/p/8650572.html
sqlserver循环相关推荐
- Sqlserver循环嵌套
1.游标的状态,游标的开启游标的选择都是需要注意的. USE [ccnu] GO/****** Object: StoredProcedure [dbo].[P_ADD_DATA_XSBLHYCQK] ...
- sqlserver 循环赋值变量
sql server 是可以用 @变量 +=值的: 第一:必须在循环里面, 第二: 必须在循环外面初始化变量的值 如: @变量=''; 这样才能循环给值 转载于:https://www.cnblog ...
- sqlserver循环like变量_numba从入门到精通(6)—numba与循环与并行
多进程.多线程.并行的调用方式的不同以及python各种常用且优化较好的并行的处理方法,回头要总结一下,概念模糊很蒙蔽.我们这里介绍一下numba强大并且简单易用的并行功能. import numpy ...
- SqlServer循环执行存储过程
begin --申明变量 declare @blh char(10) declare @zycs int --赋值变量 set @blh=1 set @zycs=0 --申明游标 declare ...
- java sqlserver 遍历_mysql和sqlserver循环插入数据
create table t1 ( sid int not null primary key, sname varchar(1000) not null )engine=innodb default ...
- php单行子查询,sql 子查询要命名
概率dp专场 专题链接 第一题--poj3744 Scout YYF I 链接 (简单题) 算是递推题 如果直接推的话 会TLE 会发现 在两个长距离陷阱中间 很长一部分都是重复的 我用 a表示到达 ...
- 中兴面试总结,华为。技术,市场
1,软件测试,如何把这个测试做的更好. 进到一个新项目,作为测试人员应该都是想把测试做好,项目在符合客户质量要求的情况下按时交付的吧.但往往都事与愿违,造成这个结果的原因有很多很多.通过这段时间做自动 ...
- SQLServer判断循环
使用SQLServer语句对数据进行判断输出或者循环判断输出 不仅Java语言,C语言有判断和循环,SQLServer同样有判断和循环 1. 创建数据表 create table score ( st ...
- SqlServer存储过程中循环的使用
1.while循环 格式示例如下: declare @i int set @i=1 while @i<30 begin insert into test (userid) values(@i) ...
最新文章
- 《系统分析与设计方法》 计算投资回收分析
- python之文件读写和异常处理
- professor xi‘s story
- 信息学奥赛一本通(C++)在线评测系统——基础(三)数据结构 —— 1354:括弧匹配检验
- ember.js_如何设置基本的Ember.js应用
- php实现栏目三种类型,WordPress后台edit-tags.php里无限栏目分类实现
- “搞机器学习没前途”
- oracle数据库中的一些操作
- PyQt5将ui文件编译为py文件的方法
- .NET Framework-多线程网络编程
- linux最常用命令
- 【Linux】CentOS 学习笔记之一(安装配制)
- wpf 复制到粘贴板_将WPF UI单元复制到剪贴板-阿里云开发者社区
- 任意阶拼图游戏及自动求解算法
- vendor分区的库无法调用system分区的库
- 第三讲 关系数据模型
- uniapp H5微信支付
- 1111111111111111111111111111
- coursera python证书_Coursera证书|三天零基础Python编程入门
- lvds接口屏线安装图解_lvds液晶屏幕接口详细讲解