Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
AspUser Member Откуда: Сообщений: 145 |
Добрый день! Можно ли настроить таблицу так чтобы IDENTITY создавался следующий от максимального существующего, а не следующий от когда либо созданного? Например создал строку допустим id=3, удалил эту строку создаешь заново и уже id=4, удалил эту строку создаешь заново и уже id=5, и т.д. Хочется просто максимальный существующий id+1. CREATE TABLE [dbo].[CategoriesNews] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY(1,1), [Name] VARCHAR (100) NOT NULL, [Description] NTEXT NOT NULL ); |
9 окт 14, 09:53 [16680147] Ответить | Цитировать Сообщить модератору |
LexusR Member Откуда: Novosibirsk Сообщений: 1887 |
уберите identity и в тригере insted off сами вставляйте нужный ID |
9 окт 14, 09:58 [16680180] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
|
||
9 окт 14, 10:12 [16680250] Ответить | Цитировать Сообщить модератору |
AspUser Member Откуда: Сообщений: 145 |
Не понимаю как это оформить что бы правильно создать таблицу, если не трудно подскажитеCREATE TABLE [dbo].[CategoriesNews] ( [Id] INT NOT NULL PRIMARY KEY , [Name] VARCHAR (100) NOT NULL, [Description] NTEXT NOT NULL ); CREATE TRIGGER [NewId] ON [dbo].[CategoriesNews] FOR INSERT AS BEGIN как тут сказать максимальный id+1 END |
9 окт 14, 10:18 [16680286] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Найти запись с наибольшим id - как же еще |
||
9 окт 14, 10:19 [16680293] Ответить | Цитировать Сообщить модератору |
AspUser Member Откуда: Сообщений: 145 |
[/quot]С какой целью?[/quot] Визуально очень путает |
9 окт 14, 10:21 [16680300] Ответить | Цитировать Сообщить модератору |
Crimean Member Откуда: Сообщений: 13148 |
а вы напишите эффективную конкурентную раздачу идентификаторов увидите откуда "дырки" и почему они не перевыдаются |
||
9 окт 14, 10:27 [16680335] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Не майся фигней. 1. Если тибя парят "дырки" - лечись у психоаналитика. 2. Если тебе не хватает есмости - сделай поле bigint. И минуют тя геморрой и пичали... |
||
9 окт 14, 10:27 [16680336] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Кого ? Налоговую ? Бухгалтера ? А "провал" 1,2, 99, 100, 101 не путает ? Главное, чтобы два последних номера шли по порядку ? |
||
9 окт 14, 10:30 [16680360] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Было пять записей с идентификаторами 1, 2, 3, 4, 5 соотвественно. Удалили 2, 3, 4. Визуально видим 1, 5. Значит 2, 3, 4 удалили. Было четыре записи с идентификаторами 1, 2, 3, 4. Удалили 2, 3, 4. Добавили 5. Визуально видим 1, 5. Значит 2, 3, 4 удалили. Где путаница? При любом раскладе то, чего нет, то удалили :) |
||
9 окт 14, 10:31 [16680365] Ответить | Цитировать Сообщить модератору |
AspUser Member Откуда: Сообщений: 145 |
Уговорили , что не надо так делать. Просто таблицы с небольшим количеством записей, и удаляется как правило часто последняя строка вот тут и хотелось чтобы счетчик не рос, думал может можно как-то штатно включить такой режим. |
9 окт 14, 10:50 [16680489] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Так просто не отображайте это поле |
||
9 окт 14, 10:52 [16680507] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8316 |
Бухгалтеру нумеруйте строчки на клиенте, а не показывайте ID. |
9 окт 14, 11:55 [16680940] Ответить | Цитировать Сообщить модератору |
Crimean Member Откуда: Сообщений: 13148 |
use tempdb go create table #a ( id int identity(1,1), flag int ) insert into #a( flag ) values( 1 ) select * from #a begin tran insert into #a( flag ) select 2 as flag union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 union all select 10 rollback tran insert into #a( flag ) values( 11 ) select * from #a go drop table #a go |
9 окт 14, 12:12 [16681064] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |