UPDATE
dbo.FormDetail
SET
FieldOrder=FieldOrder+1
WHERE
WHERE DocCode IN (1,2,3)
AND FieldOrder >= (SELECT FieldOrder FROM dbo.FormDetail
WHERE FieldData LIKE '%OldField%'
AND DocCode IN (1,2,3))
不知道我在这里尝试做的事情有多清楚,但我想增加表格FieldOrder
中FormDetail
的一些文档,但只在某个字段之后(基本上,我有一个间隙来插入一个新字段)。但明显的问题是,FieldOrder
我输入的Where
内容并不特定于该声明当前可能正在更新的文档。我在想使用分区可能是可能的,但我只partitions
在From
部分中使用过。任何帮助将非常感激。
更新
dbo.FormDetail 示例数据
DocCode FieldOrder FieldData
1 1 '标题'
1 2 '老场'
1 3 '签名'
2 1 '段落'
2 2 '老场'
3 1 '老场'