Chapter 11. Transactions
This chapter explores transactions, which are the mechanism used to group a set of SQL statements together such that either all or none of the statements succeed.
What Is a Transaction?
A transaction is a series of SQL statements within a single database session, with the goal of having all of the changes either applied or undone as a unit. In other words, when using a transaction, you will never face a situation where some of your changes succeed and others fail. Consider the classic scenario of a bank transfer, where money is withdrawn from one account and deposited into another; if your money was withdrawn from your savings account but the deposit to your checking account fails, your money would disappear. Here’s a pseudocode description of how a transaction would eliminate this possibility:
Begin Transaction Update Savings_Account (remove $100 as long as balance >= $100) Update Checking_Account (add $100) If errors then Rollback Transaction Else Commit Transaction End If
The next section describes the ways that Snowflake handles transactions.
Explicit and Implicit Transactions
You can choose to start a transaction by issuing the begin transaction
statement, after which all following SQL statements will be considered part of the transaction until you issue a commit
or rollback
statement. This is known as an explicit transaction because you are instructing Snowflake to start a transaction. Here’s an example with two insert
statements inside a single ...
Get Learning Snowflake SQL and Scripting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.