Note: This question is part of a series of questions that present the same scenario. Each question
in the series contains a unique solution. Determine whether the solution meets the stated goals.
You need to create a stored procedure that updates the Customer, CustomerInfo, OrderHeader, and
OrderDetail tables in order.
You need to ensure that the stored procedure:
Runs within a single transaction.

Commits updates to the Customer and CustomerInfo tables regardless of the status of updates to the

OrderHeader and OrderDetail tables.
Commits changes to all four tables when updates to all four tables are successful.

Solution: You create a stored procedure that includes the following Transact-SQL code:

Does the solution meet the goal?
Correct Answer: B
Explanation/Reference:
Explanation:
Need to handle the case where the first two updates (OrderHeader, OrderDetail) are successful, but either
the 3rd or the 4th (OrderHeader, OrderDetail) fail. Can add a variable in the BEGIN TRY block, and test
the variable in the BEGIN CATCH block.
Note: XACT_STATE indicates whether the request has an active user transaction, and whether the
transaction is capable of being committed.
XACT_STATE =1: the current request has an active user transaction. The request can perform any
actions, including writing data and committing the transaction.
References:
https://docs.microsoft.com/en-us/sql/t-sql/functions/xact-state-transact-sql