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
OrderDetails 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 segment:

Does the solution meet the goal?
Correct Answer: A
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. We add the @CustomerComplete variable in the BEGIN
TRY block, and test it 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