T-SQL 循环表的一种方式
2018-06-18 01:27:11来源:未知 阅读 ()
原文来自: 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.整个循环结束后删除临时表
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ rand函数 2020-06-10
- 博弈--尼姆博弈 2020-05-03
- STL之queue 2020-04-08
- STL之stack 2020-04-07
- 单调队列 2020-02-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash