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?

questionAnswers(4)

yourAnswerToTheQuestion