viernes
https://alumni.educacionit.com/clases/indice/id/323/classId/1462
BATCHS
Un Batch es un grupo de uno o más sentencias Transact-SQL, enviadas en una sola vez desde
una aplicación a Microsoft SQL Server para ser ejecutada en un solo intento.
En el Query Analizer, la cláusula GO indica el fin de un Batch.
Lo utilitarios de SQL Server interpretan el GO como un signo de que el Batch(conjunto de
17/10/2013 12:40 p.m.
2 de 15
https://alumni.educacionit.com/clases/indice/id/323/classId/1462
sentencias) debe ser enviado para su ejecución. El Batch actual, esta compuesto por todas
las sentencias antes de de la cláusula GO.
Una sentencia Transact-SQL no puede ocupar en una misma línea el comando GO
Los usuarios deben seguir las reglas de los Batchs. Por ejemplo, laejecución de
procedimientos almacenados dentro de un Batch deben incluir por delante del nombre la
palabra clave EXECUTE.
Las variables locales definidas por el usuario son limitadas dentro del Batch, esto significa
que no pueden ser referenciadas después del comando GO.
SCRIPTS
Los Scripts son series de Batchs ejecutados uno después de otro.
Administración de Transacciones
Lasaplicaciones controlan las transacciones principalmente al especificar cuándo se inicia y
finaliza una transacción.
El sistema también debe ser capaz de controlar correctamente los errores que terminan una
transacción antes de que se concluya.
De manera predeterminada, las transacciones se administran en las conexiones. Cuando se
inicia una transacción en una conexión, todas las instruccionesTransact-SQL ejecutadas en
esa conexión forman parte de la transacción hasta que ésta finaliza. No obstante, en una
sesión de conjunto de resultados activos múltiples (MARS), una transacción de Transact-SQL
explícita o implícita se convierte en una transacción de lote que se administra en los lotes.
Cuando se termina el lote, si la transacción de lote no se confirma ni se revierte, SQL Server
larevierte automáticamente.
Existen dos tipos de transacciones. Transacciones Implícitas y Transacciones Explicitas.
Transacciones Explicitas
17/10/2013 12:40 p.m.
3 de 15
https://alumni.educacionit.com/clases/indice/id/323/classId/1462
Una transacción explícita es aquella en que se define explícitamente el inicio y el final de la
transacción. Las transacciones explícitas tambiénrecibían el nombre de transacciones
definidas por el usuario.
Las secuencias de comandos Transact-SQL utilizan las instrucciones BEGIN TRANSACTION,
COMMIT
TRANSACTION,
ROLLBACK
TRANSACTION
de
Transact-SQL
para
definir
transacciones explícitas.
BEGIN TRANSACTION: Marca el punto de inicio de una transacción explícita para una
conexión.
COMMIT TRANSACTION: Se utiliza parafinalizar una transacción correctamente si no hubo
errores. Todas las modificaciones de datos realizadas en la transacción se convierten en parte
permanente de la base de datos. Se liberan los recursos ocupados por la transacción.
ROLLBACK TRANSACTION: Se utiliza para eliminar una transacción en la que se
encontraron errores. Todos los datos modificados por la transacción vuelven al estado enel
que estaban al inicio de la transacción. Se liberan los recursos ocupados por la transacción.
Transacciones Implícitas
Cuando una conexión funciona en modo de transacciones implícitas, SQL Server Database
Engine (Motor de base de datos de SQL Server) inicia automáticamente una nueva
transacción después de confirmar o revertir la transacción actual.
No tiene que realizar ninguna acciónpara delinear el inicio de una transacción, sólo tiene que
confirmar o revertir cada transacción. El modo de transacciones implícitas genera una cadena
continua de transacciones.
SET IMPLICIT_TRANSACTIONS ON
Chequeo de Errores dentro de la Transacción
La variable @@ERROR devuelve el código de error producido
USE PUBS
BEGIN TRAN
UPDATE authors
SET state = 'FL'
WHERE state = 'KS'
IF...
Regístrate para leer el documento completo.