SQL кастомное int поле с автоматическим увеличением значения

127
05 декабря 2018, 10:00

Предположим есть таблица:

CREATE TABLE [dbo].[tblCustomers] (
[ID]              INT          IDENTITY (1, 1) NOT NULL,
[CustomerNumber]  INT          NOT NULL,
[CustomerName]    VARCHAR (50) NOT NULL,
[CustomerSurname] VARCHAR (50) NOT NULL,
[CustomerPhone]   VARCHAR (50) NULL,
CONSTRAINT [PK_tblCustomers] PRIMARY KEY CLUSTERED ([ID] ASC)

как правильно сделать чтобы можно было вставлять своё значение CustomerNumber например 22. Но чтобы нумерация продолжалась автоматически после ввода кастомного значения (... 23,24,25,26,44,45,46,47,101,102,103 ...) в принципе в коде реализовать такое не сложно (если получить последнее значение с этого поля)

SELECT MAX(CustomerNumber) FROM tblCustomers

, единственное не понимаю как правильно обработать всё на случай если таблица пустая. или есть более грамотное решение?

Answer 1

Ничего особенного делать не нужно. Пример:

create table #t (id int identity(1,1), c char);
go
insert into #t(c) values('a'),('b');
set identity_insert #t on
insert into #t(id,c) values(22,'z') -- кастомное значение
set identity_insert #t off
insert into #t(c) values('c'),('d');
select * from #t;
drop table #t;

Результат:

id  c
1   a
2   b
22  z
23  c
24  d
READ ALSO
GUILayout.Button не реагирует на нажатия

GUILayout.Button не реагирует на нажатия

Решил, я значит сделать красивый компонентРешил сделать кнопку которая добавляет новое поле

166
Приостановка и действие в другом потоке по нажатию кнопки

Приостановка и действие в другом потоке по нажатию кнопки

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

120
Телеграм бот C# telegram bot is not responding. Please try again later

Телеграм бот C# telegram bot is not responding. Please try again later

Помогите разобратьсяПишу бота использую inline keyboard

221