sistemas

Páginas: 9 (2047 palabras) Publicado: 21 de noviembre de 2013
Disparadores y procedimientos almacenados
Explique en que consisten los disparadores y procedimientos almacenados:
Un trigger (o disparador) en una Base de datos, es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL. Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc. Permite implementarprogramas basados en paradigma lógico (sistemas expertos, deducción). Sirve para tener bases de datos relacionales y modificarlas a su gusto.
El disparador es un tipo especial de procedimiento almacenado que se ejecuta en respuesta de un evento de la tabla de una base de datos. No se ejecuta de manera directa y no aceptan parámetros.
Consideraciones al crear un Trigger:
1. Nombre, cómo vamos anombrar el Trigger.
2. Alcance, si es a nivel de servidor, base de datos, tabla o vista.
3. Tiempo de ejecución, si es después (AFTER) o en vez de (INSTEAD OF) del
Evento en cuestión.
4. Condición, la validación que provoca que se ejecute.
5. La acción, la operación que se debe realizar cuando la condición sea
Cumpla o no.
Dentro de los Triggers se manejan dos objetos tipos tabla:
• Unaque contiene los datos nuevos del registro (en caso de INSERT y UPDATE)
• Y la otra que contiene los datos anteriores del registro (en caso de UPDATE y DELETE)
La estructura básica de un trigger es:
Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional ode tipo nulidad.
Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger
Statement Triggers (oDisparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Ejemplo
Un sencillo ejemplo (para SQL Server) sería crear un Trigger para insertar un pedido de algún producto cuando la cantidad de éste, en nuestro almacén, sea inferior a un valor dado.
BEFORE UPDATE ON tabla_almacen
FOR ALL records
IF NEW.producto < 100 THENINSERT INTO tabla_pedidos(producto) VALUES ('1000');
END IF;
SELECT DBO.POLVE.TEST


END

Disparadores en MySQL

El estándar SQL: 2003 requiere que los disparadores den a los programadores acceso a las variables de un registro utilizando una sintaxis como REFERENCING NEW AS n. Por ejemplo, si un disparador está monitoreando los cambios en la columna salario, podríaescribirse un disparador como:

CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario o.salario THEN
END IF;

Como en MySQL las sentencias se ejecutan luego de escribir el signo punto y coma (;), cabe destacar que para crear un disparador en MySQL, antes se escribe la sentencia DELIMITER seguida de uncarácter tal como |, la cual asigna la función del punto y coma (;) a otro carácter permitiendo que el disparador sea escrito usando los punto y comas sin que se ejecute mientras se escribe; después de escrito el disparador se escribe nuevamente la sentencia DELIMITER ; para asignar al punto y coma su función habitual.

Procedimientos Almacenados (Stored Procedure):

El procedimiento almacenado...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistemas
  • Sistemas
  • Sistema
  • Sistemas
  • Sistemas
  • Sistemas
  • Sistemas
  • El sistema

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS