я запустить этот SQL,Почему моя полная таблица заблокирована вместо строк?
create table temp
(
id int,
name varchar(10)
)
insert into temp values(1,'a');
тогда я бегу,
select 1 from temp where id = 1
все в порядке.
Затем я запускаю неизрасходованную вставку,
SET NOCOUNT ON;
DECLARE @TranCount INT;
SET @TranCount = @@TRANCOUNT;
IF @TranCount = 0
BEGIN TRANSACTION
ELSE
SAVE TRANSACTION Insertorupdatedevicecatalog;
insert into temp values(2,'b')
тогда я бег,
select 1 from temp where id = 1
Но на этот раз ничего не возвращается. Почему мой полный стол заблокирован вместо второй строки?
Тот факт, что таблица представляет собой кучу (без уникального CI, как обычно), вызывает неожиданную блокировку здесь. Эта проблема исчезнет, создав уникальный идентификатор CI. – usr
Я запустил код в своей локальной системе, но не смог воспроизвести его. Второй «SELECT» возвращает 1, как и ожидалось. – SchmitzIT
@SchmitzIT, я тестирую это с новой базой данных, новой установкой и новой таблицей – user960567