zoukankan      html  css  js  c++  java
  • 删除一行记录时修改相关字段数值

    SQL Server数据库,表 QuestionKinds有如下字段:
    KindID      自增量 
    KindName 
    KindOrder    问题种类显示的顺序号

    浏览数据时,使用,上下移动数据,修改,删除。

    删除一行记录的存储过程如下:

    CREATE PROCEDURE Pr_DeleteQuestionKind
    (
    @KindID int
    )
    AS
    DELETE
    QuestionKinds

    WHERE
    KindID = @KindID
    GO

    因测试中发现,删除记录后,KindOrder的数值之间 出现不连续现象,导致 上下移动按钮运行时,页面出现不移动现象。实际上,数据是移动的。不过,移动的量是 -1  +1.为改正此错误,现修改删除一行记录的存储过程如下:

    --2007-06-12  d修改 使  删除类别的时候,kindorder也跟着修改。既删除时,使所有比该KindOrder数值大的KindOrder都-1。

    CREATE PROCEDURE Pr_DeleteQuestionKind
    (
    @KindID int
    )
    AS

    DECLARE @UpdateOrder int

    SET  @UpdateOrder =
    (
    SELECT
    KindOrder
           
    FROM
    QuestionKinds
           
    WHERE
    KindID = @KindID
    )

    UPDATE
    QuestionKinds
            
    SET
    KindOrder =KindOrder-1
    where KindOrder>@UpdateOrder

    DELETE
    QuestionKinds

    WHERE
    KindID = @KindID
    GO

  • 相关阅读:
    DS博客作业07--查找
    第五次作业——05图
    第四次作业——04树
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客05--指针
    C语言博客作业04--数组
    DS博客作业08--课程总结
    C语言-第0次作业
  • 原文地址:https://www.cnblogs.com/flashicp/p/780430.html
Copyright © 2011-2022 走看看