SQL добавляет новый редактируемый столбец (Not Identity) с добавочными значениями

У меня есть таблица SQL Server, и я хочу добавить новый столбец в свою таблицу, который будет использоваться для пользовательского заказа. Не столбцы идентификаторов, потому что мне нужно изменить значения после создания.

Моя таблица

CREATE TABLE [dbo].[Ponies] ( [Name] [nvarchar](50) NOT NULL ) 

С такими данными, как [{Name: Rarity},{Name: Applejack}] .

Я хочу, чтобы мой стол стал похожим

 CREATE TABLE [dbo].[Ponies] ( [Name] [nvarchar](50) NOT NULL, [IndexNumber] [int] NOT NULL ) 

И я хочу, чтобы данные были похожи на [{Name: Rarity, IndexNumber:1},{Name: Applejack, IndexNumber:2}] после инструкции alter. Дело в том, что порядок строк можно изменить после создания, а это значит, что при добавлении новых строк порядок старых может быть изменен.

Как я могу выполнить оператор ALTER чтобы IndexNumber дополнительный IndexNumber для каждого существующего элемента данных?

Если вам нужен editable columnне столбец Identity ), попробуйте вот так:

Демо-версия скрипта здесь

 alter table dbo.Ponies add [IndexNumber] int not null default 0 Go declare @index int = 0 update dbo.Ponies set @index = [IndexNumber] = @index + 1 select * from dbo.Ponies 

Попробуй это:

 ALTER TABLE dbo.Ponies ADD IndexNumber INT IDENTITY(1,1) NOT NULL 

Это добавляет столбец «identity» в вашу таблицу, который получает нумерацию, начиная с 1, увеличивая на 1 для каждой строки. Он будет автоматически установлен для ввода всех новых строк.

Interesting Posts
Давайте будем гением компьютера.