USE [K2_WorkFlow_Test]
GO
/****** Object: StoredProcedure [dbo].[sp_UpdateBPM_DictionaryForOrderNumber] Script Date: 2018/1/4 16:08:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[sp_UpdateBPM_DictionaryForOrderNumber]
--@row int output --受影响行数
as
begin
-- 捕获异常
begin try
-- 创建临时表,用于存储"字典表"中的OrderNumber重复的父编码(Pcode)
IF OBJECT_ID('tempdb.dbo.#devicetemp','U') IS NOT NULL DROP TABLE dbo.#devicetemp;
SELECT Pcode
INTO dbo.#devicetemp
from BPM_Dictionary_Test --注意,这里先拿测试表做测试,上线时换成正式表
Group by Pcode,OrderNumber having count(Pcode) >
-- 声明变量
DECLARE
@Pcode nvarchar() WHILE EXISTS(SELECT Pcode FROM dbo.#devicetemp)
BEGIN
SELECT @Pcode=Pcode FROM dbo.#devicetemp; -- 创建临时表,用于存储"字典表"中当前父编码(Pcode)重复的详细信息
IF OBJECT_ID('tempdb.dbo.#repeatDetailInfotemp','U') IS NOT NULL DROP TABLE dbo.#repeatDetailInfotemp;
begin transaction
SELECT Id,OrderNumber,Pcode
INTO dbo.#repeatDetailInfotemp
FROM BPM_Dictionary_Test where Pcode=@Pcode
ORDER BY OrderNumber desc;
-- 声明变量
DECLARE
@Id AS INT,
@OrderNumber int
set @OrderNumber=
WHILE EXISTS(SELECT Id FROM dbo.#repeatDetailInfotemp)
BEGIN
SELECT @Id=Id FROM dbo.#repeatDetailInfotemp;
UPDATE BPM_Dictionary_Test set OrderNumber=@OrderNumber where Id = @Id;
set @OrderNumber = @OrderNumber +;
SET ROWCOUNT
DELETE FROM dbo.#repeatDetailInfotemp WHERE Id=@Id;
END
commit transaction SET ROWCOUNT DELETE FROM dbo.#devicetemp WHERE Pcode=@Pcode;
END --set @row = @@rowcount
end try
BEGIN catch
rollback transaction
-- set @IsSuccess = '失败!'
END catch end

存储过程

步步为营101-同一个PCode下重复的OrderNumber重新排序的更多相关文章

  1. python 使用selenium模块爬取同一个url下不同页的内容(浏览器模拟人工翻页)

    页面翻页,下一页可能是一个新的url 也有可能是用js进行页面跳转,url不变,解决方法是实现浏览器模拟人工翻页 目标:爬取同一个url下不同页的数据(上述第二种情况) url:http://www. ...

  2. python实现查看目录下重复的文件

    该python 脚本有以下三个功能: 1. 实现查看目录下重复的文件,输出文件按修改时间升序排列 2. 将按修改时间排列比较旧的.可删除的文件列出来 3. 按目录对重复文件进行统计,比如,目录/tmp ...

  3. IE兼容性问题解决方案4--form表单在IE下重复提交

    遇到过一种情况,点击提交按钮的时候,在IE下重复提交,而在其他浏览器下正常. 原因:button按钮不设置type时,在IE下被浏览器默认解析为type="submit",用js提 ...

  4. iOS 同一个workspace下创建多个项目编程

    在iOS开发中,相关联的多个项目可能会放在同一个workspace下进行开发,那习惯了一个项目在一个工作空间下的同学该怎么快速开撸呢? 只需要三步而已! 第一步,先用Xcode在目标目录下创建一个wo ...

  5. mysql查询同一个字段下,不同内容的语句

    太久没有用SQL语句都有些忘记了,今天工作中遇到了那就尝试记录一下吧 需求是这样的:想查询同一个字段下,两条指定了不同内容,的其他的值 主要是要想到用where......in 语句如下:select ...

  6. 【适合公司业务】全网最详细的IDEA里如何正确新建【普通或者Maven】的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(类似eclipse里同一个workspace下【多个子项目】并存)(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...

  7. IntelliJ IDEA导入多个eclipse项目到同一个workspace下

    IntelliJ IDEA 与eclipse在新建项目上工作区的叫法略有不同,区别见下图. 我们在eclipse都是在新建的workspace目录下新建我们的项目,但是在IDEA中没有workspac ...

  8. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...

  9. 用exp、dmp导入导出用户到同一个实例下时,类型type会有问题

    oralce的type都有唯一id,在同一个实例下,通过导入导出方法创建type时,会有唯一性问题 最好的解决方法使用impdb,expdb的方式导入导出 用oid=n解决. 实在不行,可用稍微麻烦的 ...

随机推荐

  1. OGG初始化之将数据从文件加载到Replicat

    要使用Replicat建立目标数据,可以使用初始加载Extract从源表中提取源记录,并将它们以规范格式写入提取文件.从该文件中,初始加载Replicat使用数据库接口加载数据.在加载过程中,更改同步 ...

  2. 为共享服务器配置Oracle数据库

    参考资料 https://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN00502

  3. Centos7.5 VMtools的安装与卸载

    一.安装 1.自带tools:  选择VMware工具栏 => 虚拟机 => 安装VMtools 2.挂载光驱 3.tar -zxvf VMwareTools-10.3.2-9925305 ...

  4. Scala 特质全面解析

    要点如下: Scala中类只能继承一个超类, 可以扩展任意数量的特质 特质可以要求实现它们的类具备特定的字段, 方法和超类 与Java接口不同, Scala特质可以提供方法和字段的实现 当将多个特质叠 ...

  5. SPI总线协议及SPI时序图详解【转】

    转自:https://www.cnblogs.com/adylee/p/5399742.html SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接 ...

  6. wxpy: 用 Python 玩微信【转】

    转自:https://wxpy.readthedocs.io/zh/latest/index.html 微信机器人 / 可能是最优雅的微信个人号 API wxpy 在 itchat 的基础上,通过大量 ...

  7. 对比Dijakstra和优先队列式分支限界

    Dijakstra和分支限界都是基于广度优先搜索,如果说两者都是生成一棵树,那Dijakstra总是找距离树根最近的(属于贪心算法),优先队列式分支限界是在层遍历整棵搜索树的同时剪去达不到最优的树枝. ...

  8. a.py

    #!/usr/bin/python # -*- coding: UTF-8 -*- import os import sys import re import shutil import glob d ...

  9. English常用短语

    (1) be waken  by    被什么吵醒 (2) wake up !           快醒醒 (3)  put the flames    /fleimz/               ...

  10. Luogu:P1600 天天爱跑步

    来一发清新的80行 树剖 $LCA$ + 树上差分 题解. -----from Judge 本题题意大概是给出一棵 n 个节点的树以及 m 条有向路径, 并且每个点 i 都有一个权值 $w[i]$,如 ...