sql 循环执行游标
---定义开始和结束时间
declare @st_dt datetime
declare @en_dt datetime
---时间赋值
select @st_dt = ''
select @en_dt = '' ---定义中间变量
declare @dt datetime
select @dt = @st_dt ---开始按照时间循环执行
while @dt <= @en_dt
begin
---这个是个演示,可以替换为需要执行的存储过程
DECLARE @Tel varchar(50),
@ID varchar(50)
DECLARE Subscribe_Cursor CURSOR --定义游标
FOR
(
select top 360 CONVERT(VARCHAR(20),CONVERT(DECIMAL(20,0),F1)),id from SData where Tag=0
)
OPEN Subscribe_Cursor; --打开游标
FETCH NEXT FROM Subscribe_Cursor INTO @Tel,@ID
WHILE @@FETCH_STATUS = 0
BEGIN
insert into LS_ReCall(Tel,ReCallPlanDate)values(@Tel,@dt)
update SData set Tag=1 where id=@ID
FETCH NEXT FROM Subscribe_Cursor INTO @Tel,@ID;
END
CLOSE Subscribe_Cursor; --关闭游标
DEALLOCATE Subscribe_Cursor; --释放游标
---中间变量加1
select @dt = DATEADD(DAY,1,@dt) end ---定义开始和结束时间
declare @st_dt datetime
declare @en_dt datetime
---时间赋值
select @st_dt = ''
select @en_dt = '' ---定义中间变量
declare @dt datetime
select @dt = @st_dt ---开始按照时间循环执行
while @dt <= @en_dt
begin
---定义开始和结束工号
declare @st_code int
declare @en_code int
---工号赋值
select @st_code =1
select @en_code = 18
---定义中间变量
declare @code int
select @code = @st_code
while @code <= @en_code
begin
DECLARE @ID varchar(50)
DECLARE Subscribe_Cursor CURSOR --定义游标
FOR
(
select top 20 id from LS_ReCall where ReCallPlanDate=@dt and EmpCode is null
)
OPEN Subscribe_Cursor; --打开游标
FETCH NEXT FROM Subscribe_Cursor INTO @ID
WHILE @@FETCH_STATUS = 0
BEGIN
update LS_ReCall set EmpCode=@code where id=@ID
FETCH NEXT FROM Subscribe_Cursor INTO @ID;
END
CLOSE Subscribe_Cursor; --关闭游标
DEALLOCATE Subscribe_Cursor; --释放游标
---中间变量加1
select @code = @code+1
end
---中间变量加1
select @dt = DATEADD(DAY,1,@dt) end
sql 循环执行游标的更多相关文章
- 五、PL/SQL循环、游标、函数和过程
--PL/SQL基础知识学习 --一.PL/SQL语句块,基础语法格式 DECLARE --变量声明列表 info varchar(25); --变量声明 stu_unm integer := 15; ...
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
- SQL中的循环、for循环、游标
我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...
- (转)SQL中的循环、for循环、游标
我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...
- sql server 存储过程---游标的循环
sqlserver中的循环遍历(普通循环和游标循环) sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
- 【PL/SQL练习】游标cursor :oracle 在执行sql语句时,为sql语句所分配的一个私有的内存区域
隐式游标:一次只能返回一行结果(不需要定义,默认自动建立) 显式游标: 需要开发人员提前定义,可以通过循环的方式处理游标里的sql语句,返回多行结果 隐式游标的属性: sql%rowcou ...
- java for循环里面执行sql语句操作,有效结果只有一次,只执行了一次sql mybatis 循环执行update生效一次 实际只执行一次
java后台controller中,for循环执行数据库操作,但是发现实际仅仅执行了一次,或者说提交成功了一次,并没有实际的个数循环 有可能是同一个对象导致的 可以仔细看一下下面两段代码有什么区别 p ...
- Oracle中PL/SQL的执行部分和各种流程控制
Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...
- sqlserver中的循环遍历(普通循环和游标循环)
sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
随机推荐
- Installing GCC 简单方法
Installing GCC This page is intended to offer guidance to avoid some common problems when installing ...
- Codeforces 1119E Pavel and Triangles (贪心)
Codeforces Global Round 2 题目链接: E. Pavel and Triangles Pavel has several sticks with lengths equal t ...
- 20140730 word标题样式 数组
1.word 标题四, 右键更新 自己也可以新建标题样式 2.数组 连续内存,空间复杂度高(即使数组存在一个元素,占据的空间的大小不变),时间复杂度低(0(1)访问),内存分配一次性完成
- 为什么Netty这么火?与Mina相比有什么优势?
Netty是什么?为什么这么火? Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服 ...
- [已解决]报错SyntaxError: Non-ASCII character '\xe6'
解决方案:开头加上 # -*- coding: utf-8 -*
- Python移动自动化测试面试✍✍✍
Python移动自动化测试面试 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...
- window 对象常见的事件
1.页面加载事件 方式1:window.onload = function(){ } window.addEventListener('load',function(){ }) window.onlo ...
- JS window对象 History 对象 history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。语法: window.history.[属性|方法]
History 对象 history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能. 注意:从窗口被打开的那一刻开始记录,每个浏览器窗口.每个标签页乃至每个框架,都 ...
- 微信小程序控件
1 scrollview 窗口view的滑动 <scroll-view scroll-y class='scroll-view-y' bindscrolltoupper="uppe ...
- python编程语言学习day02
格式化输出 (1)info 格式 (2)%字符串占位 %s 表示字符串占位 %d 表示整数占位 %f 表示浮点数占位 中间的% 之后是所需要输入的值 多个占位, % 之后用()括号括起 ...