声明默认列值时不允许使用列名。是否有解决方法来实现这样的目标?
CREATE TABLE [dbo].[Tasks]
(
[TaskId] INT IDENTITY(1,1) NOT NULL,
[TaskName] NVARCHAR(255) NULL,
[Priority] INT NOT NULL UNIQUE DEFAULT Max(Priority)+1, -- not allowed
)
要求是默认情况下最新任务获得最低优先级(最高 int 值)。在任务在表中之后,可以对其进行优先级/取消优先级,例如与表中的任何其他任务交换优先级值。