При добавлении элемента в мою базу данных мне нужно, чтобы он автоматически определял значение для поля DisplayOrder. Идентификация (автоинкремент) была бы идеальным решением, но мне нужно иметь возможность программно изменять (ОБНОВЛЯТЬ) значения столбца DisplayOrder, а 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 )
Это хороший способ сделать это или есть лучший/более простой способ?