Po pierwsze,
insert into mutate (x, y)
select x + 1, y + 1
from mutate;
Nie rozpoczyna nieskończonej pętli, ponieważ zapytanie nie zobaczy wstawionych danych — tylko dane, które istniały na początku instrukcji. Nowe wiersze będą widoczne tylko dla kolejnych wyciągów.
To wyjaśnia to całkiem dobrze: