Cómo proteger los datos con las transacciones de SQL
Es muy importante para mantener la integridad de sus datos. La transacción en una de las principales herramientas de SQL para mantener la integridad de la base de datos. Transacciones de SQL y la transacción por defecto puede útil en ciertas situaciones.
Cómo utilizar transacciones SQL
Un Transacciones de SQL encapsula todas las sentencias SQL que pueden tener un efecto en la base de datos. Una transacción de SQL se ha completado ya sea con una COMMIT o ROLLBACK declaración:
Si la transacción acaba con el COMMIT, los efectos de todas las declaraciones en la transacción se aplican a la base de datos en una secuencia de tiro rápido.
Si la transacción acaba con el ROLLBACK, los efectos de todas las declaraciones son retrotraído (es decir, sin hacer), y la base de datos vuelve al estado en que estaba antes de que comenzara la operación.
En esta discusión, el término solicitud significa o bien una ejecución de un programa (ya sea en Java, C ++, o algún otro lenguaje de programación) o una serie de acciones realizadas en un terminal durante un único inicio de sesión.
Una aplicación puede incluir una serie de transacciones de SQL. La primera transacción SQL comienza cuando la aplicación begins- la última transacción SQL termina cuando termina la aplicación. Cada COMMIT o ROLLBACK que realiza la aplicación termina una transacción SQL y comienza la siguiente. Por ejemplo, una aplicación con tres transacciones de SQL tiene la siguiente forma:
Inicio de la aplicaciónVarias sentencias SQL (Transacción-1 SQL) COMMIT o ROLLBACKVarias sentencias SQL (Transacción-2 SQL) COMMIT o ROLLBACKVarias sentencias SQL (Transacción-3 SQL) COMMIT o ROLLBACKEnd de la aplicación
Una transacción normal de SQL tiene un modo de acceso que es o bien LEER ESCRIBIR o SOLO LECTURA- que tiene un nivel de aislamiento que es SERIALIZABLE, LEER REPEATABLE, LEER COMPROMETIDOS, o LEA UNCOMMITTED. Las características predeterminadas son LEER ESCRIBIR y SERIALIZABLE. Si desea cualquier otra característica, tiene que especificar con un SET DE TRANSACCIONES declaración como la siguiente:
SET TRANSACTION READ ONLY -
o
SET transacción de lectura READ ONLY REPEATABLE -
o
SET LEER transacción confirmada -
Usted puede tener múltiples SET DE TRANSACCIONES declaraciones en una aplicación, pero se puede especificar sólo uno de cada transacción, y debe ser la primera sentencia de SQL ejecutada en la transacción. Si desea utilizar una SET DE TRANSACCIONES declaración, ejecutarlo ya sea al principio de la aplicación o después de una COMMIT o ROLLBACK.
Debe realizar una SET DE TRANSACCIONES al inicio de cada transacción para la que desea propiedades no predeterminadas, porque cada nueva transacción después de un COMMIT o ROLLBACK se le da las propiedades por defecto de forma automática.
LA SET DE TRANSACCIONES declaración también puede especificar un DIAGNÓSTICO TAMAÑO, que determina el número de condiciones de error para el que la aplicación debe estar preparado para guardar la información. (Un límite numérico Tal es necesario porque una aplicación capaz de detectar más de un error en un comunicado.) El valor predeterminado de SQL para este límite es definido por la implementación, y que por defecto es casi siempre adecuada.
La transacción por defecto
La transacción SQL por defecto tiene características que son satisfactorios para la mayoría de usuarios de la mayoría de las veces. Si es necesario, puede especificar diferentes características de las operaciones con SET DE TRANSACCIONES comunicado.
La transacción por defecto hace un par de otros supuestos implícitos:
La base de datos va a cambiar con el tiempo.
Siempre es mejor prevenir que curar.
Establece el modo de LEER ESCRIBIR, que, como se puede esperar, le permite emitir sentencias que cambian la base de datos. También establece el nivel de aislamiento de SERIALIZABLE, que es el más alto nivel de aislamiento posible (por lo tanto el más seguro). El tamaño de diagnóstico por defecto depende de la implementación. Mira la documentación de SQL para ver lo que el tamaño es para su sistema.