It would be fabulous to have something equivalent within SQL, instead of having to run a SELECT first and then hacking that into an UPDATE. Every time.
"transactions" do give that feature, but related to the nix/emacs discussion above, my gripe is that every rdbms seems to do it differently.
That said I forgot how overloaded the term "transactions" is and most kinds of "transactions" don't allow undo or preview modes. Like, there's the reserved word "transaction", and then there's the "transaction" that can literally describe any db/network request, or an exchange of money for goods and services.
When I do what the parent comment says, it's basically because the select statement is a "test"/preview
In some dbs you can do rollbacks or need to commit your db changes to affect the global state, but I haven't seen that universally + consistently implemented.