Transacciones doomed
Quieres insertar los datos de dos clientes nuevos en la tabla customer. Preparas un script para controlar que, si ocurre un error, la transacción haga rollback y obtengas el mensaje del error. Quieres controlarlo usando XACT_ABORT en combinación con XACT_STATE.
Este ejercicio forma parte del curso
Transacciones y control de errores en SQL Server
Instrucciones del ejercicio
- Usa la configuración apropiada de
XACT_ABORT. - Comprueba si hay una transacción abierta.
- Haz rollback de la transacción.
- Selecciona el mensaje de error.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH