Transacciones y Procedimientos Almacenados SQL Server
-
Upload
alvaro-aliaga-szz -
Category
Documents
-
view
260 -
download
1
description
Transcript of Transacciones y Procedimientos Almacenados SQL Server
Transacciones y procedimientos almacenados SQL serverBASE DE DATOS II
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]
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
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.
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
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)
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’
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
Procedimientos almacenados• Para borrar un procedimiento en SQL Server se usa la
sentencia DROP PROCEDURE:
• DROP PROCEDURE nombre_procedimiento