ComenzarEmpieza gratis

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

Ver curso

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
Editar y ejecutar código