原文来自:https://www.lesg.cn/netdaima/sqlservert-sql/2016-463.html

SsqlServer 中循环表有几种方式

1.临时表

2.游标

3….

下面就来说说怎么用临时表格来循环数据

create table t(

id int not null primary key identity(1,1),

dt datetime not null default(getdate()),

name varchar(100) not null default('')

)
--测试案例,给表插入数据
declare @count int ;set @count=0;
while(@count<100)
begin
set @count= @count+1
insert into t (name) values (NEWID())
end
select * from t
--判断临时表是否存在 如果存在则删除临时表
if exists(select 1 from tempdb..sysobjects where id=object_id('tempdb..#t_m'))
begin
drop table #t_m --删除临时表
end
--将数据插入临时表
select * into #t_m from t
--开始循环表数据 declare @tmid int ; -- 创建一个临时变量
While (exists ( select 1 from #t_m))
BEGIN
select top 1 @tmid =id from #t_m --拿出一条数据复制在临时变量里面, 用于待会删除该数据使用
--
/*
好了 在这里使用 @tmid 来操作 该条数据吧
lesg.cn
*/
--
DELETE #t_m WHERE ID=@tmid; --删除一条临时表的数据
END
if exists(select 1 from tempdb..sysobjects where id=object_id('tempdb..#t_m'))
begin
drop table #t_m --操作结束后删除临时表
end

思路如下;
1.创建临时表格
2.while 循环临时表; 循环条件是 临时表是否存在
3. 获取一条临时表的数据; 记得使用top 1 否则数据一多起来性能低到你发疯 获得临时变量,临时变量等于该条数据的ID

select  top 1 @tmid =id from #t_m

4.使用临时变量来操作数据
5.整个循环结束后删除临时表

最新文章

  1. The Myths about Transactions (ACID) and NoSQL
  2. ios h5 app avalon tap点击事件失效及点击延迟300ms问题解决方法
  3. 配置https
  4. My Env
  5. CSS3与页面布局学习总结——Box Model、边距折叠、内联与块标签、CSSReset
  6. centos修改hostname以及时间同步
  7. Microsoft Office 2013 Product Key
  8. Sublime 编译出来的是 dos格式,不是unix格式
  9. JavaScript面试问题:事件委托和this
  10. [Locked] Range Sum Query 2D - Mutable
  11. MongoDB源码分析——mongo与JavaScript交互
  12. Unslider – 轻量的响应式 jQuery 内容轮播插件
  13. uva10067 Playing with Wheels 【建图+最短路】
  14. Character Encoding in .NET
  15. 本地连接虚拟机 Oracle数据库 报ORA-12541:TNS:no listener
  16. openstack swift节点安装手册3-最后的安装配置及验证
  17. SpringBoot -- 计划任务
  18. [LeetCode] 88. Merge Sorted Array_Easy tag: Two Pointers
  19. Linux内核跟踪之ring buffer的实现【转】
  20. Easing圆环动画

热门文章

  1. Windows安装和使用zookeeper
  2. 迷你MVVM框架 avalonjs 实现上的几个难点
  3. OpenGL学习资料汇总
  4. maven package 知识(转载)
  5. java中对final关键字的理解以及使用场景
  6. salesforce 零基础学习(四十七) 数据加密简单介绍
  7. iOS-数据持久化详细介绍
  8. .net 网络编程
  9. JS数字计算精度误差的解决方法
  10. 以Excel 作为Data Source,将data导入db