zoukankan      html  css  js  c++  java
  • 数据排序存储过程

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go

    ALTER PROCEDURE [dbo].[SetTaskPosition]
     @TaskID uniqueidentifier,
     @Position int
    AS

     DECLARE @ListID uniqueidentifier
     DECLARE @OldPosition int
     
     SELECT
      @ListID = ListID, @OldPosition = ListOrder
     FROM
      Tasks
     WHERE TaskID = @TaskID
     
     IF @Position < @OldPosition
     BEGIN
     
      UPDATE Tasks
      SET
       ListOrder = ListOrder + 1
      WHERE
       ListID = @ListID AND ListOrder >= @Position AND ListOrder < @OldPosition
     
      UPDATE TOP(1) Tasks
      SET
       ListOrder = @Position
      WHERE
       TaskID = @TaskID
     
     END
     ELSE IF @Position > @OldPosition
     BEGIN

      UPDATE Tasks
      SET
       ListOrder = ListOrder - 1
      WHERE
       ListID = @ListID AND ListOrder > @OldPosition AND ListOrder <= @Position
      
      UPDATE TOP(1) Tasks
      SET
       ListOrder = @Position
      WHERE
       TaskID = @TaskID

     END

  • 相关阅读:
    WinForm中快捷键与组合按键的设置方法
    WinForm窗体间传值的方法
    System.Data.SqlClient 命名空间
    登录
    查找和替换
    进制转换
    对话框
    Object基类
    抽象类与抽象方法
    千位数减百位数不退位 区间代换
  • 原文地址:https://www.cnblogs.com/scgw/p/1135248.html
Copyright © 2011-2022 走看看