Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
Некая процерура делает инсерт в таблицу с identity Все это в явной транзакции Я хочу отловить identity в контексте concurrency begin tran exec usp_tableA_Insert select ident_current('dbo.A') end tran ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:10 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
scope_identity() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:17 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
invm, Пробовал, К сожалению нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:19 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
_humanК сожалению нетЧто именно "нет"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:25 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
invm авторTherefore, if two statements are in the same stored procedure, function, or batch, they are in the same scope. https://docs.microsoft.com/en-us/sql/t-sql/functions/scope-identity-transact-sql?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:47 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
Отлавливать надо в процедуре. В противном случае не решается в многопользовательской среде без сериализации вставки данных в таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:50 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
_human, Что вы хотите сказать этой цитатой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 18:54 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
invm, Он намекает, что ему scope_identity не подходит, потому что он пытается получить сгенерированное значение identity за скоупом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 19:31 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
Спасибо, именно это имелось ввиду Сейчас нет возможности написать нормальный семпл но scope_identity() возвращает NULL Идея поместить вызов процедуры в.явную транзакцию как я понимаю несработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 19:45 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
_human, Понятно. Самое простое - в процедуре записывать scope_identity во временную таблицу уровня сессии. Один из минусов - для каждой сессии будет свой план выполнения этой процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 20:16 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
Ок, ещё такой вопрос Человек вставляет в таблицу и ловит в @@identity Какова вероятность что вернет не его identity? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 21:04 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
_humanКакова вероятность что вернет не его identity?@@identity чужого не возвращает. Просто не всем подходит айдишник от вставки, сделанной триггером... если есть возможность изменить хранимку, добавьте в неё Код: sql 1. и забирайте его сами Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 21:30 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
_humanЧеловек вставляет в таблицу и ловит в @@identity Какова вероятность что вернет не его identity?Если подразумевается, что "не его" - это значение из другого сеанса, то нулевая. Иначе, 100%, если у таблицы есть триггер, в котором тоже есть вставка в другую таблицу с identity. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 21:31 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
Gerrosесли есть возможность изменить хранимку, добавьте в неё такого нет invmЕсли подразумевается, что "не его" - это значение из другого сеанса в теории может быть что апликация в 1-й сессии(@@spid) выполнит 500 процедур асинхронно так что какой-то из @@identity вернет "чужой" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 22:06 |
|
||
|
Identity + concurrency
|
|||
|---|---|---|---|
|
#18+
_humanтак что какой-то из @@identity вернет "чужой" ?Нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2019, 22:11 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=87&tid=1687200]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 345ms |

| 0 / 0 |
