插入记录保持显示顺序的存储过程

时间:2013-12-16 17:54:48

标签: sql-server

您好我有一个可以正常工作的应用程序,但是在表中的行超过700之后,行插入的性能很慢。我知道存储过程会更好用但是创建它们并且需要一些帮助。

在网格中,我为用户提供了在任意位置插入行的选项。我提示他们想要新插入的 TASK_ID (displayOrder)然后在应用程序中我重新编号插入下面的所有task_id( TASK_ID )到“腾出空间” “对于新插入,以便在网格刷新时新插入的顺序正确。

如何通过SP完成此插入?

Table structure 
ID(PK)(int),TASK_ID(displayOrder)(int),project_id(INT), otherColumns

1 个答案:

答案 0 :(得分:1)

存储过程的优点是您可以运行批量操作,因此逻辑上连接的更改都可以在单个事务的上下文中发生。

在您的情况下,您应该编写一个程序来接受您需要的所有参数。接下来,运行类似

的UPDATE

UPDATE [表] SET Task_ID = Task_ID + 1 WHERE Task_ID< @DesistentTaskId

之后您可以运行插入。