[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
[SQL Server]储存过程中使用临时表循环操作数据的更多相关文章
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...
- SQL Server 储存过程的output 参数
要做的参数的回传一方面要做到有储存过程的配合,再一方面也要有调用方法的配合,也就是说错误的调用方法是没有办法把值回传的. 下面是例子 --1.储存过程方面的配合 create procedure db ...
- VFP执行 SQL Server 储存过程示例
PUBLIC errvalPUBLIC errmsgPUBLIC handleerrval=0errmsg=' ' *Sql Server 连接参数sourcename= 'test'user= 's ...
- SQL Server遍历表中记录的2种方法
SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录.本文将介绍利用使用表变量和游标实现数据库中表的遍历. 表变量来实现表 ...
- 在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败
原文:在SQL Server Management Studio中可以运行作业但是用T-SQL运行则失败 问题: 在SQL Server Management Studio中可以运行作业但是用T-SQ ...
- MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在
MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在 我们在写sql 脚本的时候经常会用到临时表,有时间也需要根据临时表是否存在做一些逻辑处理.还好sql server已经集 ...
- 转:Oracle中SQL语句执行过程中
Oracle中SQL语句执行过程中,Oracle内部解析原理如下: 1.当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法.表名.字 ...
- SQL SERVER 2005/2008 中关于架构的理解(二)
本文上接SQL SERVER 2005/2008 中关于架构的理解(一) 架构的作用与示例 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQL SERVE ...
- SQL SERVER 2005/2008 中关于架构的理解(一)
SQL SERVER 2005/2008 中关于架构的理解(一) 在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询, ...
- Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage
<Windows Azure Platform 系列文章目录> 本文介绍的是由国内世纪互联运维的China Azure,相比国外的Global Azure.主要区别是存储账号的DNS地址不 ...
随机推荐
- 六、python基础知识之变量常量、索引取值和PEP8规范
目录 一.变量与常量 1.什么是变量? 2.什么是常量? 变量的基本使用 变量使用的语法结构与底层原理 变量名的命名规范和命名风格 变量的命名风格 常量的基本使用 二.索引取值 三.PEP8规范 1. ...
- drf-序列化器、反序列化、反序列化校验
1.APIView执行流程 1.之前我们是基于django原生的View编写接口,drf提供给咱们的一个类APIView,以后使用drf写视图类,都是继承这个类及其子类,APIView本身就是继承了D ...
- .NET Core项目部署到Windows系统Docker
1.新建一个ASP.NET Core Web应用(模型-视图-控制器) 2. 项目启动Docker.Docker OS选择Windows 3.系统默认的dockerfile文件如下 #See http ...
- 编译报错,提示:This dependency was not found:* vue-editor-bridge
前端代码引入了: 1 import func from 'vue-editor-bridge'; 工具自动填充,导致引入上述JS去掉重新编译,问题解决
- Prometheus&Alertmanager告警推送
前言 尽管可以通过可视化数据监控系统运行状态,但我们无法时刻关注系统运行,因此需要一些实时运行的工具能够辅助监控系统运行,当系统出现运行问题时,能够通知我们,以此确保系统稳定性,告警便是作为度量指标监 ...
- WHAT IS PPM Encoder ?
About PPM Encoder The PPM encoder allows to encode up to 8 PWM (pulse width modulated) signals into ...
- Shapefile导入MySQL
1. 概述 Shapefile是常用的空间数据文件格式,MySQL是常用的关系型数据库 MySQL遵从OpenGIS联盟(OGC)的规范,MySQL实施了空间扩展,更详细的信息可以参考: MySQL ...
- Angular UI库
1.angular 使用 bootstrap 安装bootstrap npm install bootstrap --save 安装bootstrap-icons npm i bootstrap-ic ...
- Study for Go ! Chapter two - Expression
Study for Go ! Chapter two - Expression 1. Keyword Golang仅有 25 个保留关键字,体现了 golang 语法规则的简洁性 保留关键字不能用作常 ...
- cximage菜单(Mirror)
// ID_CXIMAGE_MIRROR 文件:CxImage\demo\demoDoc.cpp 菜单项:cximage->Mirror ON_COMMAND(ID_CXIMAGE_MIRROR ...