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
I get in my Where
will が、ステートメントが現在更新しているドキュメントに固有のものではないことです。おそらくパーティションを使用して可能だと思っていましたが、セクションでしか使用partitions
したことがありません。From
どんな助けでも本当に感謝しています。
アップデート
dbo.FormDetail サンプル データ
DocCode FieldOrder FieldData
1 1 'タイトル'
1 2 'オールドフィールド'
1 3「署名」
2 1 '段落'
2 2 'オールドフィールド'
3 1 'オールドフィールド'