[SQL Server]储存过程中使用临时表循环操作数据
本文为原创文章,转载请注明出处!我的博客地址:http://www.cnblogs.com/txwd
由于工作原因,到目前为此已有一年多没有写SQL Server的储存过程了,已有些生疏。日前工作中有个表的数据需要定时更新,翻了一下以前写的储存过程,在此记录一下。
需求是这样的:
有两张表 1、博主表: Blogger ,2、博主对应的文章表: BlogForBlogger
文章表的数据由服务端定时获取,博主表有个字段保存博主文章的总数量,所以这个字段要定时去更新。
实现:创建一个储存过程,然后在数据库中开个作业定时去执行这个储存过程。
-- ============================================= -- Author: LI -- Create date: 2017-08-29 -- Description: 更新博主文章总数量 -- ============================================= CREATE PROCEDURE sp_Update_Blogger_Blog_ArticleCount AS BEGIN declare @account varchar(50); --博主账号 declare @count int; --博主数量 declare @i int; --循环标识 declare @articleCount int; --文章数量 --把所有博主信息存到临时表 select * into #temp from(select Account,Ranking,ROW_NUMBER() over(order by Ranking) as row from Blogger ) b select @count = COUNT(1) from #temp; set @i = 1; --循环临时表 while (@count >= @i) begin select @account = Account from #temp where row = @i; --获取当前行的博主账号 select @articleCount = count(1) from BlogForBlogger where Account = @account; --获取博主的文章数量 update Blogger set ArticleCount = @articleCount; --更新博主的文章数量 set @i = @i + 1; end drop table #temp; --删除临时表 END GO
本文为原创文章,转载请注明出处!我的博客地址:http://www.cnblogs.com/txwd
Hello world!
分类:
SQL Server
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端