Transacciones y Procedimientos Almacenados SQL Server

9
Transacciones y procedimientos almacenados SQL server BASE DE DATOS II

description

transacciones y procedimientos almacenados ..

Transcript of Transacciones y Procedimientos Almacenados SQL Server

Page 1: Transacciones y Procedimientos Almacenados SQL Server

Transacciones y procedimientos almacenados SQL serverBASE DE DATOS II

Page 2: Transacciones y Procedimientos Almacenados SQL Server

Comandos para realizar transacciones• Inicio de una transacción:

• BEGIN TRAN[SACTION][NombreTransaccion]

• Validación de transacción:

• COMMIT TRAN[SACTION] [NombreTransaccion]

• Declaración de punto de control:

• SAVE TRAN[SACTION] [NombrePuntoControl]

• Anulación de Transacción:

• ROLLBACK TRAN[SACTION] [NombreTransaccion | NombrePuntoControl]

Page 3: Transacciones y Procedimientos Almacenados SQL Server

Comandos para realizar transacciones• BEGIN TRAN Modificación

• UPDATE Tabla SET ....

• UPDATE Tabla1 SET ....

• SAVE TRAN a

• UPDATE Tabla2 SET ....

• UPDATE Tabla3 SET ....

• ROLLBACK TRAN a

• ROLLBACK TRAN Modificacion

• COMMIT TRAN Modificación

Page 4: Transacciones y Procedimientos Almacenados SQL Server

Procedimientos almacenados• Un procedimiento es un programa dentro de la base de datos

que ejecuta una acción o conjunto de acciones especificas.

• Un procedimiento tiene un nombre, un conjunto de parámetros (opcional) y un bloque de código.

• En Transact SQL los procedimientos almacenados pueden devolver valores (numérico entero) o conjuntos de resultados.

• Para crear un procedimiento almacenado debemos emplear la sentencia CREATE PROCEDURE.

Page 5: Transacciones y Procedimientos Almacenados SQL Server

Procedimientos almacenados• CREATE PROCEDURE <nombre_procedure> [@param1

<tipo>, ...]

• AS

• -- Sentencias del procedure

• Para modificar un procedimiento almacenado debemos emplear la sentencia ALTER PROCEDURE.

• ALTER PROCEDURE <nombre_procedure> [@param1 <tipo>, ...]

• AS

• -- Sentencias del procedure

Page 6: Transacciones y Procedimientos Almacenados SQL Server

Procedimientos almacenados• CREATE PROCEDURE RecursosHumanos.AddEmpleado @nombre

varchar(30),

• @apellido nvarchar(30),

• @id_departamento int,

• @telefono nvarchar(30),

• @direccion nvarchar(30)

• AS

• INSERT INTO CLIENTES

• (nombre, apellido, id_departamento, telefono, direccion) VALUES

• (@nombre, @apellido, @id_departamento, @telefono, @direccion)

Page 7: Transacciones y Procedimientos Almacenados SQL Server

Procedimientos almacenados• Para la ejecutar un procedimiento almacenado debemos

utilizar la sentencia EXEC. Cuando la ejecución del procedimiento almacenado es la primera instrucción del lote, podemos omitir el uso de EXEC.

• El siguiente ejemplo muestra la ejecución del procedimiento almacenado anterior.

• EXEC AddEmpleado N’Pedro’, N’Herrarte’,2 , ‘2587962’, N’Calle 2’

Page 8: Transacciones y Procedimientos Almacenados SQL Server

Procedimientos almacenados• ALTER PROCEDURE

RecursosHumanos.AddEmpleado @nombre varchar(30),

• @apellido nvarchar(30),

• @id_departamento int,

• @telefono nvarchar(30),

• @direccion nvarchar(30)

• AS

• BEGIN TRY

• BEGIN TRAN

• INSERT INTO CLIENTES

• (nombre, apellido, id_departamento, telefono, direccion) VALUES

• (@nombre, @apellido, @id_departamento, @telefono, @direccion)

• COMMIT

• END TRY

• BEGIN CATCH

• ROLLBACK

• PRINT ERROR_MESSAGE()

• END CATCH

Page 9: Transacciones y Procedimientos Almacenados SQL Server

Procedimientos almacenados• Para borrar un procedimiento en SQL Server se usa la

sentencia DROP PROCEDURE:

• DROP PROCEDURE nombre_procedimiento