3. ¿QUE ENTIENDE USTED POR POR DISPARADORES TRIGGERS? Y ESCRIBA UN EJEMPLO UTILIZANDO LENGUAJE PL\SQL (PLPGSQL, EN CASO DE POSTGREESQL).
3. ¿QUE ENTIENDE USTED POR POR DISPARADORES TRIGGERS? Y ESCRIBA UN EJEMPLO UTILIZANDO LENGUAJE PLSQL (PLPGSQL, EN CASO DE POSTGREESQL).
DISPARADORES TIGGERS
Los Triggers o Disparadores son objetos que se asocian con tablas y se almacenan en la base de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado. Los eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de una tabla.
La utilidad principal de un trigger es mejorar la administración de la base de datos, ya que no requieren que un usuario los ejecute. Por lo tanto, son empleados para implementar las REGLAS DE NEGOCIO (tipo especial de integridad) de una base de datos. Una Regla de Negocio es cualquier restricción, requerimiento, necesidad o actividad especial que debe ser verificada al momento de intentar agregar, borrar o actualizar la información de una base de datos. Un trigger puede prevenir errores en los datos, modificar valores de una vista, sincronizar tablas, entre otros.
COMPONENTES PRINCIPALES
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 o de tipo nulidad.
Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.
Tipos[editar]
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 cada vez que se llama al disparador desde la tabla asociada al triggerStatement Triggers (o Disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Pueden ser de sesión y almacenados; pero no son recomendables[cita requerida].
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.CREATE TRIGGER TR_ARTICULO ON ARTICULOS AFTER UPDATE AS BEGIN INSERT INTO HCO_ARTICULO (IDARTICULO, STOCK, FECHA) SELECT ID_ARTICULO, STOCK, GETDATE() FROM INSERTED END
INSERT INTO ARTICULOS VALUES (1, 'MEMORIA', 12, '12/03/2014')
SELECT * FROM ARTICULOS
UPDATE ARTICULOS SET STOCK = STOCK - 20 WHERE ID_ARTICULO = 1
SELECT * FROM HCO_ARTICULO
Disparadores en MySQL
Los disparadores son soportados en MySQL a partir de la versión 5.0.2. Algunos de los soportes existentes son los disparadores para las sentencias INSERT, UPDATE y DELETEEl 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ía escribirse 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;
INTEGRANTES DEL EQUIPO:
IRVING BUSTOS ORTEGA
ENRIQUE ECHEVERRIA BELLO
IRVING MARTINEZ GONZALES
RAMIRO LUCIANO GAMA
KEVIN BAHENA TRUJILLO
JENNIFER GIORNERY OREGÓN PÉREZ
enrique bello100- Mensajes : 13
Fecha de inscripción : 23/02/2015
Temas similares
» 3.- Explique ¿Qué entiende usted por Disparadores (Triggers)?. Y escriba un ejemplo utilizando Lenguaje PL/SQL (plpgsql, en caso de PostgreeSQL).
» 5.- Estructuras De Control
» 5.- Tecnologías De Conectividad De Bases De Datos
» 2- QUE ENTIENDE USTED POR ODBC. Y ESCRIBA UN EJEMPLO.
» 3.- Software De Gestión
» 5.- Estructuras De Control
» 5.- Tecnologías De Conectividad De Bases De Datos
» 2- QUE ENTIENDE USTED POR ODBC. Y ESCRIBA UN EJEMPLO.
» 3.- Software De Gestión
Permisos de este foro:
No puedes responder a temas en este foro.