sql >> データベース >  >> RDS >> Sqlserver

アイテムの順序を変更するための更新SQLを生成しますか?

    IDも必要ありません パラメータ。

    UPDATE
      yourTable
    SET
      Order = (CASE WHEN     Order = @oldOrder THEN @newOrder
                    WHEN @newOrder > @oldOrder THEN Order - 1
                                               ELSE Order + 1 END)
    WHERE
         Order BETWEEN @oldOrder AND @newOrder
      OR Order BETWEEN @newOrder AND @oldOrder
    
    • 元の位置と新しい位置の上または下を変更する必要はありません。
    • 他のすべては1つ上または下に移動します。
    • 元のアイテムを除いて、新しい位置に移動します。



    1. 1バイトで何文字保存できますか?

    2. 欲張りでない数量詞がOracle正規表現で機能しないことがあるのはなぜですか?

    3. Oracleでテーブル構造を変更するにはどうすればよいですか?

    4. Postgrespg_try_advisory_lockはすべてのレコードをブロックします