domingo, 7 de agosto de 2011

Funcion Trigger

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.

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 THEN
         INSERT INTO tabla_pedidos(producto) VALUES ('1000');
    END IF;
SELECT DBO.POLVE.TEST
END

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 DELETE
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í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;

No hay comentarios:

Publicar un comentario