ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ensayo Disparadores Base De Datos


Enviado por   •  2 de Febrero de 2013  •  611 Palabras (3 Páginas)  •  768 Visitas

Página 1 de 3

Tema: Disparadores – Parte II.

Objetivo

 Utilizar la sintaxis de un disparador en SQL Server

 Implementar disparadores en SQL Server

Materiales y

 Computadora con SQL Server 2008.

 Guía Número 11

Introducción

Un desencadenador es una clase especial de procedimiento almacenado que se ejecuta siempre que se intenta modificar los datos de una tabla que el desencadenador protege. Los desencadenadores están asociados a tablas específicas.

Asociación a una tabla

Los desencadenadores se definen para una tabla específica, denominada tabla del desencadenador.

Invocación automática

Cuando se intenta insertar, actualizar o eliminar datos de una tabla en la que se ha definido un desencadenador para esa acción específica, el desencadenador se ejecuta automáticamente. No es posible evitar su ejecución.

Imposibilidad de llamada directa

A diferencia de los procedimientos almacenados del sistema normales, no es posible invocar directamente los desencadenadores, que tampoco pasan ni aceptan parámetros.

Si se encuentra una instrucción ROLLBACK TRANSACTION, se deshará toda la transacción. Si a continuación de la instrucción ROLLBACK TRANSACTION en la secuencia de comandos del desencadenador hay una instrucción, ésta se ejecutará. Los desencadenadores se crean con la instrucción CREATE TRIGGER. Esta instrucción especifica la tabla en la que se define el desencadenador, los sucesos para los que se ejecuta y las instrucciones que contiene.

2 Base de datos I, Guía 11

Sintaxis:

Cuando se especifica una acción FOR UPDATE, la cláusula IF UPDATE (nombreColumna) permite centrar la acción en una columna específica que se actualice. Tanto FOR como AFTER son sintaxis equivalentes que crean el mismo tipo de desencadenador, que se activa después de la acción (INSERT, UPDATE o DELETE) que ha iniciado el desencadenador.

Procedimiento

Inserte los siguientes datos en la tabla employees de la Base de datos Northwind

insert into Employees(LastName,FirstName) values('Alfaro','Carlos') insert into Employees(LastName,FirstName) values('Bonilla','Jaime') insert into Employees(LastName,FirstName) values('Perez','Sheldon')

Ejemplo 1 digite el siguiente trigger

La instrucción DELETE siguiente activa el desencadenador y evita la transacción.

DELETE FROM Employees WHERE EmployeeID > 10

La instrucción DELETE siguiente activa el desencadenador y permite la transacción.

DELETE FROM Employees WHERE EmployeeID = 11

Base de datos I. Guía 10 3

Ejemplo 2 Disparador en base a una columna

El trigger anterior despues de actualizar la columna lastname se active y envía un mensaje, pruebe con la siguiente instrucción

UPDATE Employees

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com