Saltar al contenido

Ya hemos visto como controlar errores. Ahora toca decirle si las grabamos o no.

Tomamos como base  nuestra base de ejemplo

Captura

y el código

Captura

Vamos a modificarlo  para utilizar COMMIT y ROLLBACK.

Si una transacción es valida, se hace. La instrucción COMMIT garantiza que todas las modificaciones de la transacción se conviertan en una parte permanente de la base de datos. La instrucción COMMIT también libera recursos que utiliza la transacción como, por ejemplo, los bloqueos.

Hay que  utilizar COMMIT TRANSACTION solo en el punto donde todos los datos a los que hace referencia la transacción sean lógicamente correctos.

Si se produce un error en una transacción o el usuario decide cancelar la transacción, hay que echar para tras la transaccion. Esto se hace con la instrucción ROLLBACK  que devuelve los datos al  estado en que estaban al inicio de la transacción. La instrucción ROLLBACK también libera los recursos que mantiene la transacción.

Vamos con un ejemplo.

Captura

y en la tabla

Captura

Vemos que se ha insertado el registro Gabriel.

Ahora vamos con el caso contrario ....

Captura

Nos da error y por lo tanto Rollback hace que la tabla

Captura

No se grabe el campo Alberto.

Principalmente este artículo es para tener una idea de como se debería hacer.

Vamos a ver los Triggers y acabamos con la certificación 70-461. Después  toca la 462

Esto lo vamos a ver con un programita sencillo.

Sin título

Y nos da como resultado

Sin título1

Es muy sencillo lo que estamos viendo, casi todo se ve a simple vista.

Ya lo complicaremos mas y probaremos otros IDE de python.

Podéis compartirlo en vuestras redes social o pasaros por el grupo de facebook para proponer temas o dudas.

Ya vimos

TRY .. CATCH en #sqlserver

Jugando con TRY .. CATCH en #sqlserver

De lo aprendido en esos 2 artículos vamos a ponerlo en práctica con las transacciones.

Tomando de ejemplo esta estructura:

ahora vamos a ver como controlamos los errores en las transacciones.

El código arriba descrito  lo tenéis en http://1drv.ms/1NHPpAY

En cuanto a transacciones hemos visto ya:

Transacciones en #sqlserver

Introducción al mundo de las transacciones en #sqlserver

Al turrón ....

Captura

Tenemos es bbdd. Vamos a hacer unos insert into.

Captura

Comprobamos que este registro se ha insertado.

Captura

Pero vamos a cometer un error a postaCaptura

Nos indica que hay unos campos que no admite NUL y ns da ese error.

Fácil ????  Próximos  artículos con commit y rollback entre otros

Y ya sabeis .... Podeis compartir todos los articulos, entrar en facebook para comentarlos, .....

Ya hemos visto

Asignación de variables en #python

Ahora toca practicar

Sin títuloEl código lo teneis http://1drv.ms/1N7RGsn

Como vamos  tocar la conexion con SQL Server, MongoDb y como no, con temas de Redes, es conveniente verlo desde un inicio.

El programa que utilizo es Pycharm que lo podéis bajar de https://www.jetbrains.com/pycharm/

Ya veremos como funciona otros.