データベースにアイテムを追加するとき、フィールド DisplayOrder の値を自動決定する必要があります。Identity (自動インクリメント) は理想的なソリューションですが、DisplayOrder 列の値をプログラムで変更 (UPDATE) できるようにする必要があり、Identity はそれを許可していないようです。とりあえず、次のコードを使用します。
CREATE PROCEDURE [dbo].[AddItem]
AS
DECLARE @DisplayOrder INT
SET @DisplayOrder = (SELECT MAX(DisplayOrder) FROM [dbo].[MyTable]) + 1
INSERT INTO [dbo].[MyTable] ( DisplayOrder ) VALUES ( @DisplayOrder )
それを行うのは良い方法ですか、それともより良い/簡単な方法はありますか?