значение по умолчанию tsql добавляется к другому полю

#sql-server-2005 #tsql

#sql-server-2005 #tsql

Вопрос:

возможно ли что-то подобное?

 CREATE TABLE [dbo].[T_ALERT](
    [id] [bigint] NOT NULL IDENTITY(1,1),
    [times] [int] NOT NULL DEFAULT(1),
    [times left] [int] DEFAULT(times), --Here times_left get times as default
 CONSTRAINT [PK_T_ALERT] PRIMARY KEY CLUSTERED 
(
    [user_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
  

Комментарии:

1. Пожалуйста, не называйте свои столбцы пробелами или чем-либо еще, что требует, чтобы вы заключали имена в квадратные скобки.

2. @Adam Robinson: Вы правы — я обычно этого не делаю, но я пропустил в этом примере.

Ответ №1:

Нет, но вы можете выполнить то же самое, создав столбец TimesUsed (или любой другой, подходящий для вашего использования) и присвоив ему значение по умолчанию 0 , а затем просто выполнив вычитание в вашем запросе.