【发布时间】:2020-06-02 10:38:45
【问题描述】:
我有一张名为LocationProduct的表,其结构如下,
+--------------+-------------+-----------+
| FkLocationId | FkProductId | SortValue |
+--------------+-------------+-----------+
| 1 | 100 | 1 |
+--------------+-------------+-----------+
| 1 | 101 | 2 |
+--------------+-------------+-----------+
| 1 | 102 | 3 |
+--------------+-------------+-----------+
| 1 | 103 | 4 |
+--------------+-------------+-----------+
| 1 | 104 | 5 |
+--------------+-------------+-----------+
| 1 | 105 | 6 |
+--------------+-------------+-----------+
| 2 | 100 | 1 |
+--------------+-------------+-----------+
| 2 | 101 | 2 |
+--------------+-------------+-----------+
| 2 | 102 | 3 |
+--------------+-------------+-----------+
| 2 | 103 | 4 |
+--------------+-------------+-----------+
| 2 | 104 | 5 |
+--------------+-------------+-----------+
| 2 | 105 | 6 |
+--------------+-------------+-----------+
现在我需要在插入新行时将SortValue 列的值加一。例如,
INSERT INTO BranchServices(FkBranchId,FkServiceId,SortValue)
VALUES(1,106,1)
我需要将FkLocationId = 1相关的SortValue更新一,我需要如下输出,
+--------------+-------------+-----------+
| FkLocationId | FkProductId | SortValue |
+--------------+-------------+-----------+
| 1 | 100 | 2 |
+--------------+-------------+-----------+
| 1 | 101 | 3 |
+--------------+-------------+-----------+
| 1 | 102 | 4 |
+--------------+-------------+-----------+
| 1 | 103 | 5 |
+--------------+-------------+-----------+
| 1 | 104 | 6 |
+--------------+-------------+-----------+
| 1 | 105 | 7 |
+--------------+-------------+-----------+
| 1 | 106 | 1 |
+--------------+-------------+-----------+
在这里你可以看到我将每条旧记录的 SortValue 更新了一个。我该怎么做?
【问题讨论】:
标签: sql-server sql-update sql-insert