Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
INSERT в неинкрементное поле
|
|||
|---|---|---|---|
|
#18+
Скажите пожалуйста, как можно сделать INSERT в неинкрементное поле, чтобы при вставке каждой строке значение увеличивалось на +1 от предыдущей строки? Хотелось бы обойтись без курсора. В приложенной картинке это поле keys. id - атоинкрементное. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 11:23 |
|
||
|
INSERT в неинкрементное поле
|
|||
|---|---|---|---|
|
#18+
Кесарь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 11:32 |
|
||
|
INSERT в неинкрементное поле
|
|||
|---|---|---|---|
|
#18+
L_argo Кесарь В совсем старых версиях sequence делается руками на коленке за пару минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 12:05 |
|
||
|
INSERT в неинкрементное поле
|
|||
|---|---|---|---|
|
#18+
Сиквентс неиспользованные числа не возвращает в пул при откате транзакции, так что не на коленке за пару минут. Потребуется CLR или иной сервис. Чтобы нумерация была без пропусков, потребуется создать узкое горло на уровне процессов, sp_getapplock, чтобы в один момент времени ставка происходило только из одного процесса. В этом случае при откате таблица-нумератор также откатит счетчик. И следующий процесс начнет нумерацию в последнего сохранённого номера. Вопрос в том - допускают ли задачи такое "горло". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 16:08 |
|
||
|
INSERT в неинкрементное поле
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов Чтобы нумерация была без пропусков, потребуется создать узкое горло на уровне процессов, sp_getapplock IDENTITY тоже не дает гарантию отстутствия пропусков. По-моему можно просто делать все на уровне repeatable read и выбирать max() из таблицы. Но дедлок при этом будет возникать запросто. А можно на поле keys поставить unique и в случае ошибки вставки делать повторные попытки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 17:29 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=40021692&tid=1685380]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 402ms |

| 0 / 0 |
