Почему следующий SQL Server вставляет мертвую блокировку, когда выполнено в рамках транзакции?

Для получения общего количества отсутствующих значений используйте сумму (is.na (x)), а для столбцов используйте colSums (is.na (x)), где x - переменная, содержащая набор данных

6
задан Marc Gravell 18 June 2009 в 12:05
поделиться

3 ответа

Рассматриваемый 'convert' - это 'lock convert' из RangeS-S в RangeI-N , никак не связанный с функцией 'CONVERT'. Тот факт, что у вас уже есть блокировки RangeS-S в индексе PK_Tag_1, указывает на то, что вы делаете нечто большее, чем просто INSERT. Выполняется ли ваша транзакция, случайно, сначала перед попыткой вставки проверить, существует ли новая запись?

7
ответ дан 17 December 2019 в 02:32
поделиться

Вам вообще не нужна транзакция. Функция scope_identity () вернет идентификатор, последний раз созданный в той же области, поэтому нет проблем, если другая вставка выполняется до того, как вы получите идентификатор, так как это находится в другой области.

-1
ответ дан 17 December 2019 в 02:32
поделиться

Проверьте изоляциюLevel, которое используется в вашем запросе. ПРИМЕЧАНИЕ, что использует Serializable Serializable уровня изоляции по умолчанию ( http://msdn.microsoft.com/en-us/library/ms172152.aspx ). Попробуйте изменить уровень изоляции вашей транзакции для чтения.

0
ответ дан 17 December 2019 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: