在我的数据库中添加项目时,我需要它来自动确定字段 DisplayOrder 的值。Identity(自动增量)将是一个理想的解决方案,但我需要能够以编程方式更改(更新)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 )
这是做到这一点的好方法还是有更好/更简单的方法?