Таблица1 имеет некластеризованный уникальный индекс для столбца: cid [varchar(24)], sum_value [varchar(48) ] и enter_time_string[varchar(50)]
Ниже приведен мой URL-адрес jdbc:
Код: Выделить всё
jdbc:sqlserver://localhost:1433;database=srik_2024;integratedSecurity=false;applicationName=srik;sendStringParametersAsUnicode=false;encrypt=true;trustServerCertificate=true;responseBuffering=adaptive;selectMethod=direct
Код: Выделить всё
insert into table1(table1_id, cid, sum_value, entry_time, entry_time_string, buffer_entry_flag, user)
values('m240527090938173704245f7', 'm22112317542685511944168', '2582013865', '2024-05-27 09:02:13.991', '2024-05-27 09:02:1', 0, 'SRIK')
insert into table1(table1_id, cid, sum_value, entry_time, entry_time_string, buffer_entry_flag, user)
values('m240527090938175704255f7', 'm22112317542685511944168', '2582013865', '2024-05-27 09:02:13.991', '2024-05-27 09:02:0', 1, 'SRIK')
insert into table1(table1_id, cid, sum_value, entry_time, entry_time_string, buffer_entry_flag, user)
values('m240527090938175704265f7', 'm22112317542685511944168', '2582013865', '2024-05-27 09:02:13.991', '2024-05-27 09:02:2', 1, 'SRIK')
delete from table1
where table1_id in ('m240527090938175704255f7', 'm240527090938175704265f7')
Один из вариантов, который я мог бы рассмотреть, — это повторить попытку фиксации транзакции под блоком catch, если есть лучший способ добиться этого.
Примечание: я делаю эту множественную вставку, чтобы предотвратить повторный запрос, вызванный в течение одного и того же интервала времени в 10 секунд.
Код Java:
Я попытался перехватить исключение, которое возникает из-за взаимоблокировки на основе Код ошибки SQL и повторите попытку 5, но хотелось проверить, смогу ли я сделать что-нибудь лучше этого.
Подробнее здесь: https://stackoverflow.com/questions/785 ... eadlocking
Мобильная версия