USE [MeiDongPay_Test]
GO
/****** Object: StoredProcedure [dbo].[Job_BatchTransferOrderToMidst] Script Date: 2017/10/19 10:37:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER
PROC [dbo].[Job_BatchTransferOrderToMidst]
AS
SET NOCOUNT OFF
BEGIN
DECLARE @MinID INT ,--最小值
@MaxID INT ,--最大值
@GoalID INT ,--上限
@Step INT ,--步长
@StartTime DATETIME ,--约束时间
@CurrHour INT--当前小时数
SET @CurrHour = DATEPART(hh, GETDATE())
SELECT @CurrHour
--当前小时限定只在指定时间段内处理数据
IF ( @CurrHour >= 0 AND @CurrHour < 23)
BEGIN
--仅处理小于约束时间的数据
SET @StartTime = CONVERT(VARCHAR(10), GETDATE(), 23)
SELECT @StartTime
--获取最小值 最大值 上限值
SELECT @MinID = 0 ,
@MaxID = ( SELECT MIN(ID)
FROM dbo.PayOrderInfo WITH ( NOLOCK )
WHERE SubmitTime < @StartTime
) ,
@GoalID = ( SELECT MAX(ID)
FROM dbo.PayOrderInfo WITH ( NOLOCK )
WHERE SubmitTime < @StartTime
) ,
@Step = 3000
--数据处理
IF ( @MaxID <= @GoalID )
BEGIN
--边界值修正
SET @MinID = @MaxID
SET @MaxID = @MinID + @Step
IF ( @MaxID > @GoalID )
SET @MaxID = @GoalID
--启动事务
BEGIN TRAN
--创建临时表
SELECT *
INTO #tempOrder
FROM dbo.PayOrderInfo
WHERE Id BETWEEN @MinID AND @MaxID
--临时表数据插入历史表
INSERT INTO PayOrderInfo_Midst
SELECT *
FROM #tempOrder
--休眠一秒 ,大数据量度执行时休眠1s可以让cpu有机会创建其他命令
WAITFOR DELAY '00:00:01'
--源表删除已插入历史表的行
DELETE FROM dbo.PayOrderInfo
WHERE ID BETWEEN @MinID AND @MaxID
--删除临时表
DROP TABLE #tempOrder
--事务提交
COMMIT TRAN
END
END
END

  

SQLSERVER 数据调度示例,调度数据到中间表或者历史表的更多相关文章

  1. python解析发往本机的数据包示例 (解析数据包)

    tcp.py # -*- coding: cp936 -*- import socket from struct import * from time import ctime,sleep from ...

  2. mysql设计与优化以及数据库表设计与表开发规范

    一.设计问题? 1.主键是用自增还是UUID ? Innodb 中的主键是聚簇索引. 如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的 ...

  3. SqlServer表数据与excel中数据的互相复制

    一.SqlServer表数据复制到excel 1.新建查询,用sql语句把表数据读出来 2.然后,选择数据,右键,复制(也可以点击连同标题复制),复制到记事本中(不然会乱码) 3.然后再把记事本的内容 ...

  4. Cesium数据可视化-仓储调度系统可视化部分(附github源码)

    Cesium数据可视化-仓储调度系统可视化部分 目的 仓储调度系统需要一个可视化展示物资运输实况的界面,需要配合GPS设备发送的位置信息,实时绘制物资运输情况和仓储仓库.因此,使用Cesium可视化该 ...

  5. kettle抽取数据发送邮件Linux调度

    kettle抽取数据发送邮件Linux调度 #1.进入kettle安装目录 然后执行sqoop.sh文件启动kettlecd /app/pdi-ce-7.1.0.0-12/data-integrati ...

  6. PowerDesigner创建表 拷贝创建表语句 SQLSERVER创建数据库 使用查询 创建表 并且添加数据

    PowerDesigner创建表 : 1.双击打开PowerDesigner   2.双击打开Create model 3左键点击Model  types,再点击Physical    Data  m ...

  7. 在MS SQLSERVER中如何最快的速度清空所有用户表的数据

    有时候我们需要清空数据库中所有用户表的数据,如果一张表一张表的清空的话,遇到一个庞大的数据系统估计得崩溃了.  用游标加上用变量来引用表名就可以做到这一点. 用变量来引用表名对表操作可以用在存储过程中 ...

  8. sqlserver 数据库 的数据库个数统计 表个数统计 表的数据量统计(转载)

    http://www.cnblogs.com/qinche/archive/2012/08/09/app.html 由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将 ...

  9. SQLSERVER将一个文件组的数据移动到另一个文件组

    SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...

随机推荐

  1. linux 安装 mysql-5.6.26

    linux安装mysql-5.6.26 查看工具:winscp 下载地址 http://mirrors.sohu.com/mysql/MySQL-5.6/ 文件: mysql-5.6.26-linux ...

  2. 6.安装pyhook报错is not a supported wheel on this platform

    解决方法: 先找到合适的格式: 然后,选择合适的版本: 安装即可成功:

  3. wordpress的安装及使用

    1.如何查看别人的wordpress站点所有的模板 2.如何使用自定义的模板

  4. 6.1 Controllers -- Introduction

    一.Controllers 1. 在Ember.js中,controllers允许你使用展现逻辑装饰你的models.通常,models将会有保存到服务器的属性,然而controllers将会有不需要 ...

  5. 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest Solution

    A. Rikka with Minimum Spanning Trees 题意: 给出一个图,求最小生成树的个数和权值 思路: 因为数据随机,只有一个MST #include <bits/std ...

  6. oracle extract 函数简介

    oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分   //语法如下:   EXTRACT (           { YEA ...

  7. 关于Redis命令keys在性能方面的说明

    redis的keys命令类似于Mysql的like命令,无非就是模糊匹配相近的字符数据. KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 k ...

  8. phpstorm 代码片段使用方法

    原文链接: http://wwwquan.com/show-66-121-1.html 4.Live Templates代码片断 A)我们先介绍一个代码片段最基本的功能,我们要实现的目标是在html文 ...

  9. 20145311 《Java程序设计》第九周学习总结

    20145311 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1JDBC 16.1.1JDBC简介 JDBC(Java DataBase Connec ...

  10. 注解装配Bean

    @Service用于标注业务层组件@Controller用于标注控制层组件@Repository用于标注数据访问组件,即DAO组件@Component泛指组件,当组件不好归类的时候,我们可以使用这个注 ...