Czy zawijanie SQL Server Wybierz… Wstaw kwerendy do transakcji niejawnej?
Kiedy wykonuję zapytanie select / Insert, czy SQL Server automatycznie tworzy transakcję niejawną i traktuje ją jako jedną operację atomową?
Wykonaj następujące zapytanie, które wstawia wartość do tabeli, jeśli jeszcze jej tam nie ma:
INSERT INTO Table1 (FieldA)
SELECT 'newvalue'
WHERE NOT EXISTS (Select * FROM Table1 where FieldA='newvalue')
Czy istnieje możliwość wstawienia „newvalue” do tabeli przez innego użytkownika między oceną klauzuli WHERE a wykonaniem klauzuli INSERT, jeśli nie jest ona wyraźnie zawinięta w transakcji?