Nunca consideres el estudio como una obligación, sino como una oportunidad para ingresar en el bello y maravilloso mundo del saber.
martes, febrero 26, 2013
Actividad para V Sistemas
Investigar el siguiente tema:
Implementación de Aplicaciones con Triggers en MySQL Haga un ejemplo en donde se compruebe un Triggers
18 comentarios:
Anónimo
dijo...
Sirve para simular un deshacer de una tabla, trigger que guarda de forma automática los valores de los campos anteriores y los nuevos valores en caso de modificación de un registro. Cómo crear, eliminar y mostrar triggers en MySQL. Un trigger o disparador en una Base de datos, 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.
Implementación de Aplicaciones con Triggers en MySQL
MySQL incorpora disparadores, o como lo llaman los angloparlantes y los entendidos del tema ‘triggers’. Se trata de un objeto de base de datos asociado a una tabla que se activa cuando se produce un evento previamente especificado en la tabla indicada (hasta el momento los eventos válidos son INSERT, UPDATE y DELETE). Estos objetos eran ya habituales en otros sistemas de base de datos, y MySQL los implementó entre otras cosas por petición popular. La verdad es que estos disparadores pueden ahorrarnos trabajo y líneas de código. Ejemplo:
La sintaxis para crear un disparador en MySQL es la siguiente:
CREATE TRIGGER nombre_disp {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON nombre_tabla FOR EACH ROW sentencia_disp
DIEGO SANCHEZ 5TO SISTEMAS Sirve para simular un deshacer de una tabla, trigger que guarda de forma automática los valores de los campos anteriores y los nuevos valores en caso de modificación de un registro. Cómo crear, eliminar y mostrar triggers en MySQL. Un trigger o disparador en una Base de datos, 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.
Alumno: Gustavo Pullupaxi IMPLEMENTACIÓN DE APLICACIONES CON TRIGGERS EN MYSQL
Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc.). Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), supongo que a que es algo nuevo en MySQL y la gente no está acostumbrada a estas dos funcionalidades. Vamos a mostrar un ejemplo de uso de triggers y procedimientos almacenados paso a paso. Quizás el ejemplo no sea el más correcto, o simplemente sea poco útil, pero lo importante es el uso en sí, no el ejemplo. Nuestro sistema tendrá dos tablas, una con ventas y la otra con comisiones. En la primera se almacenarán cada venta que se realiza en un comercio, y en la segunda las comisiones que le corresponden a cada vendedor en el momento. CREATE TABLE `ventas` ( `vendedor` int(11), `producto` int(11), `importe` float ) CREATE TABLE `comisiones` ( `vendedor` int(11), `comision` float )
Mylena Rodríguez Los Triggers son simplemente procedimientos guardados en la base de datos que se ejecutan antes (BEFORE) y/o después (AFTER) de algún(os) eventos (INSERT, DELETE, UPDATE) sobre la tabla que fue asociada al trigger. Tienen dos palabras claves, OLD y NEW que simbolizan los valores anteriores o nuevos de la columna. • Los INSERT permiten NEW • Los DELETE sólo OLD • Los UPDATE ambas, NEW y OLD. • DELIMITER $$: Cambiamos el delimitador a ‘$$’ para poder usar ; en el medio sin cerrar el CREATE TRIGGER. • CREATE TRIGGER ‘actualizoPuntaje’: Esto crea el trigger, y obviamente le ponemos un nombre para identificarlo. • AFTER INSERT ON Votos: Aca decimos que esto se dispare luego (after) de un INSERT en la tabla Votos. • FOR EACH ROW BEGIN: Hacemos un foreach por todos los ROWS afectados (recuerden que un insert puede ser múltiple) y finalmente BEGIN señala el comienzo de nuestro código. • UPDATE Articulos SET puntaje = (SELECT AVG(puntos) FROM Votos WHERE articuloID = NEW.articuloID ) WHERE id = NEW.articuloID; : Hacemos un update de la tabla Articulos, seteando el campo puntaje con el promedio de todos los “puntos” en la tabla Votos del articulo, el objeto NEW representa a los nuevos datos, así que si queremos saber el id del articulo, es NEW.articuloID, en el caso de la instrucción UPDATE también contamos con OLD. • END$$: Termina el CREATE TRIGGER. • Así se puede de todo, sin tocar una linea de código de la página y obviamente tiene sus ventajas, por ejemplo, estamos seguros que si o si se va a realizar la acción, y no tenemos el problema de olvidarnos.
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. Los triggers son usados para mejorar la administración de la Base de datos,Además, pueden generar valores de columnas, pueden prevenir errores de datos, sincronizar tablas, modificar valores de una vista, auditorías de seguridad, etc.
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. Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar: Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger. Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Objetos relacionados con tablas y almacenados en la base de datos se ejecutan o se muestran cuando sucede algún evento Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE
Triggers MySQL Nombre: Alexis Pilco Carrera: 5to Sistemas Otra de las nuevas características incluidas en MySQL, además de los procedimientos almacenados, son los triggers, que traducido sería algo así como disparadores, son oyentes, que se mantienen a la escucha de los eventos que puedan producirse en una tabla (insert , update y delete) y ejecutan un código antes (before) o después (after) de que se produzca este evento. Con los triggers podemos hacer cosas tan interesantes como mantener un log de que usuarios hace modificaciones en una tabla, que usuarios borran registros, o insertan, o lo que se te ocurra. Para referenciar las columnas de antes y después de que el vento se haya disparado, se usan las palabras clave OLD y NEW. Con la sentencia insert solo se permite NEW, con update se permiten ambas y con delete solo OLD. Sintaxis necesaria para crear un trigger CREATE TRIGGER {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON FOR EACH ROW BEGIN END;
Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc). Usos 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 implementar programas basados en paradigma lógico (sistemas expertos, deducción). 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.
EJEMPLO
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
Moisés Andrade ¿Qué son los triggers? Son bloques de código que se ejecutan al realizar un evento en un campo de una tabla. Código para crear CREATE TRIGGER nombre_trigger momento evento ON nombre_tabla ON EACH ROW sentencia. Para Borrar drop trigger nombre_trigger; Los triggers solo pueden ser borrados por un usuario capaz de crearlos (ROOT o SUPER)
Implementación de Aplicaciones con Triggers en MySQL Nombre: Jenyfer Utitiaja
Son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) inserciones, modificaciones, borrados, creación de tablas, etc.Los eventos pueden ser un INSERT, un UPDATE o un DELETE de datos de la tabla, y podemos detallar si queremos que los pasos se dén antes (BEFORE) del evento o después (AFTER) del evento.
CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes FOR EACH ROW BEGIN INSERT INTO auditoria_clientes(nombre, anterior_ejecutivo_cuenta, usuario, cambiado)
Trigger (disparador) Es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Pueden prevenir errores de datos, sincronizar tablas, modificar valores de una vista, auditorías de seguridad, etc. Su estructura • 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 • Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger. • Statement 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. Nombre: Fabiola Guaranda
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto. Para crear un trigger o disparador en MySQL Server se debe usar alguna aplicación que permita ejecutar sentencias SQL, por ejemplo MySQL Administrator con MySQL Query Browser. Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Ejemplo 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
Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), supongo que a que es algo nuevo en MySQL y la gente no está acostumbrada a estas dos funcionalidades.
Vamos a mostrar un ejemplo de uso de triggers y procedimientos almacenados paso a paso. Quizás el ejemplo no sea el más correcto, o simplemente sea poco útil, pero lo importante es el uso en sí, no el ejemplo.
Nuestro sistema tendrá dos tablas, una con ventas y la otra con comisiones. En la primera se almacenarán cada venta que se realiza en un comercio, y en la segunda las comisiones que le corresponden a cada vendedor en el momento.
Las comisiones se calcula de una forma especial, le corresponde un porcentaje de las ventas según el tipo de producto, y es importante para los vendedores el que se sepa en cada momento qué comisiones lleva ganadas (esto es una justificación para no usar un cron o algo parecido).
Para calcular qué comisión le corresponde a un vendedor, calcularemos los porcentajes para cada tipo de producto vendido y luego lo añadiremos/actualizaremos en la tabla de comisiones. Todo se realizará en un procedimiento almacenado.
DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`sp_comisiones`$$ CREATE PROCEDURE `test`.`sp_comisiones` (IN mivendedor INT) BEGIN DECLARE micomision INT DEFAULT 0; DECLARE suma INT; DECLARE existe BOOL; select IFNULL(sum(importe),0) into suma from ventas where producto = 1 and vendedor = mivendedor; SET micomision = micomision + (suma * 0.15); select IFNULL(sum(importe),0) into suma from ventas where producto = 2 and vendedor = mivendedor; SET micomision = micomision + (suma * 0.1); select IFNULL(sum(importe),0) into suma from ventas where producto = 3 and vendedor = mivendedor; SET micomision = micomision + (suma * 0.2); select count(1)>0 into existe from comisiones where vendedor = mivendedor; if existe then UPDATE comisiones set comision = comision+micomision where vendedor = mivendedor; else insert into comisiones (vendedor, comision) values (mivendedor, micomision); end if; END$$ DELIMITER ;
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. Los triggers son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.
La estructura básica de un trigger es: Llamada de activación. Restricción. Acción a ejecutar.
Existen dos tipos de disparadores: Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger. Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
__________________________________________________ EJEMPLO DE UN TRIGGER
delimiter $$ CREATE TRIGGER ajsoluciones.tg_auditoria_accesos BEFORE INSERT ON ajsoluciones.factura FOR EACH ROW BEGIN INSERT INTO ajsoluciones.log_accesos (usuario, fecha) values (CURRENT_USER(), NOW()); END$$ delimiter ;
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. Los triggers son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.
La estructura básica de un trigger es: Llamada de activación. Restricción. Acción a ejecutar.
Existen dos tipos de disparadores: Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger. Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
__________________________________________________ EJEMPLO DE UN TRIGGER
delimiter $$ CREATE TRIGGER ajsoluciones.tg_auditoria_accesos BEFORE INSERT ON ajsoluciones.factura FOR EACH ROW BEGIN INSERT INTO ajsoluciones.log_accesos (usuario, fecha) values (CURRENT_USER(), NOW()); END$$ delimiter ;
Implementación de Aplicaciones con Triggers en MySQL
Trigger (disparador) 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).
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger. Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
2:) ejemplo en donde se compruebe un Triggers
CREATE TRIGGER jefes BEFORE INSERT OR UPDATE OF cojefe ON Empleado FOR EACH ROW DECLARE supervisa INTEGER; BEGIN /*Seleccionar empleados que supervisa el jefe*/ /*Comprobar si supervisa > 5 empleados*/ END;
18 comentarios:
Sirve para simular un deshacer de una tabla, trigger que guarda de forma automática los valores de los campos anteriores y los nuevos valores en caso de modificación de un registro. Cómo crear, eliminar y mostrar triggers en MySQL.
Un trigger o disparador en una Base de datos, 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.
Implementación de Aplicaciones con Triggers en MySQL
MySQL incorpora disparadores, o como lo llaman los angloparlantes y los entendidos del tema ‘triggers’. Se trata de un objeto de base de datos asociado a una tabla que se activa cuando se produce un evento previamente especificado en la tabla indicada (hasta el momento los eventos válidos son INSERT, UPDATE y DELETE). Estos objetos eran ya habituales en otros sistemas de base de datos, y MySQL los implementó entre otras cosas por petición popular. La verdad es que estos disparadores pueden ahorrarnos trabajo y líneas de código.
Ejemplo:
La sintaxis para crear un disparador en MySQL es la siguiente:
CREATE TRIGGER nombre_disp {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON nombre_tabla FOR EACH ROW sentencia_disp
La sintaxis para borrarlo es:
DROP TRIGGER nombre_disp
Nombre: Jean Carlos Toa
DIEGO SANCHEZ
5TO SISTEMAS
Sirve para simular un deshacer de una tabla, trigger que guarda de forma automática los valores de los campos anteriores y los nuevos valores en caso de modificación de un registro. Cómo crear, eliminar y mostrar triggers en MySQL.
Un trigger o disparador en una Base de datos, 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.
Alumno: Gustavo Pullupaxi
IMPLEMENTACIÓN DE APLICACIONES CON TRIGGERS EN MYSQL
Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc.).
Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), supongo que a que es algo nuevo en MySQL y la gente no está acostumbrada a estas dos funcionalidades.
Vamos a mostrar un ejemplo de uso de triggers y procedimientos almacenados paso a paso. Quizás el ejemplo no sea el más correcto, o simplemente sea poco útil, pero lo importante es el uso en sí, no el ejemplo.
Nuestro sistema tendrá dos tablas, una con ventas y la otra con comisiones. En la primera se almacenarán cada venta que se realiza en un comercio, y en la segunda las comisiones que le corresponden a cada vendedor en el momento.
CREATE TABLE `ventas` (
`vendedor` int(11),
`producto` int(11),
`importe` float
)
CREATE TABLE `comisiones` (
`vendedor` int(11),
`comision` float
)
Mylena Rodríguez
Los Triggers son simplemente procedimientos guardados en la base de datos que se ejecutan antes (BEFORE) y/o después (AFTER) de algún(os) eventos (INSERT, DELETE, UPDATE) sobre la tabla que fue asociada al trigger.
Tienen dos palabras claves, OLD y NEW que simbolizan los valores anteriores o nuevos de la columna.
• Los INSERT permiten NEW
• Los DELETE sólo OLD
• Los UPDATE ambas, NEW y OLD.
• DELIMITER $$: Cambiamos el delimitador a ‘$$’ para poder usar ; en el medio sin cerrar el CREATE TRIGGER.
• CREATE TRIGGER ‘actualizoPuntaje’: Esto crea el trigger, y obviamente le ponemos un nombre para identificarlo.
• AFTER INSERT ON Votos: Aca decimos que esto se dispare luego (after) de un INSERT en la tabla Votos.
• FOR EACH ROW BEGIN: Hacemos un foreach por todos los ROWS afectados (recuerden que un insert puede ser múltiple) y finalmente BEGIN señala el comienzo de nuestro código.
• UPDATE Articulos SET puntaje = (SELECT AVG(puntos) FROM Votos WHERE articuloID = NEW.articuloID ) WHERE id = NEW.articuloID; : Hacemos un update de la tabla Articulos, seteando el campo puntaje con el promedio de todos los “puntos” en la tabla Votos del articulo, el objeto NEW representa a los nuevos datos, así que si queremos saber el id del articulo, es NEW.articuloID, en el caso de la instrucción UPDATE también contamos con OLD.
• END$$: Termina el CREATE TRIGGER.
• Así se puede de todo, sin tocar una linea de código de la página y obviamente tiene sus ventajas, por ejemplo, estamos seguros que si o si se va a realizar la acción, y no tenemos el problema de olvidarnos.
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.
Los triggers son usados para mejorar la administración de la Base de datos,Además, pueden generar valores de columnas, pueden prevenir errores de datos, sincronizar tablas, modificar valores de una vista, auditorías de seguridad, etc.
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.
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
Nombre: juan alarcon
Alan Lopez
Objetos relacionados con tablas y almacenados en la base de datos se ejecutan o se muestran cuando sucede algún evento
Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE
Triggers MySQL
Nombre: Alexis Pilco
Carrera: 5to Sistemas
Otra de las nuevas características incluidas en MySQL, además de los procedimientos almacenados, son los triggers, que traducido sería algo así como disparadores, son oyentes, que se mantienen a la escucha de los eventos que puedan producirse en una tabla (insert , update y delete) y ejecutan un código antes (before) o después (after) de que se produzca este evento.
Con los triggers podemos hacer cosas tan interesantes como mantener un log de que usuarios hace modificaciones en una tabla, que usuarios borran registros, o insertan, o lo que se te ocurra.
Para referenciar las columnas de antes y después de que el vento se haya disparado, se usan las palabras clave OLD y NEW. Con la sentencia insert solo se permite NEW, con update se permiten ambas y con delete solo OLD.
Sintaxis necesaria para crear un trigger
CREATE TRIGGER
{BEFORE|AFTER}
{INSERT|UPDATE|DELETE}
ON
FOR EACH ROW
BEGIN
END;
Eduardo Diaz
Triggers SQL
Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc).
Usos
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 implementar programas basados en paradigma lógico (sistemas expertos, deducción).
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.
EJEMPLO
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
Moisés Andrade
¿Qué son los triggers?
Son bloques de código que se ejecutan al realizar un evento en un campo de una tabla. Código para crear CREATE TRIGGER nombre_trigger momento evento ON nombre_tabla ON EACH ROW sentencia. Para Borrar drop trigger nombre_trigger;
Los triggers solo pueden ser borrados por un usuario capaz de crearlos (ROOT o SUPER)
Implementación de Aplicaciones con Triggers en MySQL
Nombre: Jenyfer Utitiaja
Son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) inserciones, modificaciones, borrados, creación de tablas, etc.Los eventos pueden ser un INSERT, un UPDATE o un DELETE de datos de la tabla, y podemos detallar si queremos que los pasos se dén antes (BEFORE) del evento o después (AFTER) del evento.
CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes
FOR EACH ROW
BEGIN
INSERT INTO auditoria_clientes(nombre, anterior_ejecutivo_cuenta, usuario, cambiado)
Trigger (disparador)
Es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE).
Pueden prevenir errores de datos, sincronizar tablas, modificar valores de una vista, auditorías de seguridad, etc.
Su estructura
• 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
• Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
• Statement 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.
Nombre: Fabiola Guaranda
Alexis Diaz
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.
Para crear un trigger o disparador en MySQL Server se debe usar alguna aplicación que permita ejecutar sentencias SQL, por ejemplo MySQL Administrator con MySQL Query Browser.
Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.
Ejemplo 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
Nombre:Javier Noboa
Unas opciones no muy usadas cuando se trabaja con MySQL son los triggers y los procedimientos almacenados (stored procedures), supongo que a que es algo nuevo en MySQL y la gente no está acostumbrada a estas dos funcionalidades.
Vamos a mostrar un ejemplo de uso de triggers y procedimientos almacenados paso a paso. Quizás el ejemplo no sea el más correcto, o simplemente sea poco útil, pero lo importante es el uso en sí, no el ejemplo.
Nuestro sistema tendrá dos tablas, una con ventas y la otra con comisiones. En la primera se almacenarán cada venta que se realiza en un comercio, y en la segunda las comisiones que le corresponden a cada vendedor en el momento.
CREATE TABLE `ventas` (
`vendedor` int(11),
`producto` int(11),
`importe` float
)
CREATE TABLE `comisiones` (
`vendedor` int(11),
`comision` float
)
Las comisiones se calcula de una forma especial, le corresponde un porcentaje de las ventas según el tipo de producto, y es importante para los vendedores el que se sepa en cada momento qué comisiones lleva ganadas (esto es una justificación para no usar un cron o algo parecido).
Para calcular qué comisión le corresponde a un vendedor, calcularemos los porcentajes para cada tipo de producto vendido y luego lo añadiremos/actualizaremos en la tabla de comisiones. Todo se realizará en un procedimiento almacenado.
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`sp_comisiones`$$
CREATE PROCEDURE `test`.`sp_comisiones` (IN mivendedor INT)
BEGIN
DECLARE micomision INT DEFAULT 0;
DECLARE suma INT;
DECLARE existe BOOL;
select IFNULL(sum(importe),0) into suma from ventas where producto = 1 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.15);
select IFNULL(sum(importe),0) into suma from ventas where producto = 2 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.1);
select IFNULL(sum(importe),0) into suma from ventas where producto = 3 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.2);
select count(1)>0 into existe from comisiones where vendedor = mivendedor;
if existe then
UPDATE comisiones set comision = comision+micomision where vendedor = mivendedor;
else
insert into comisiones (vendedor, comision) values (mivendedor, micomision);
end if;
END$$
DELIMITER ;
Trigger (disparador)
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.
Los triggers son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.
La estructura básica de un trigger es:
Llamada de activación.
Restricción.
Acción a ejecutar.
Existen dos tipos de disparadores:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
__________________________________________________
EJEMPLO DE UN TRIGGER
CREATE TABLE log_accesos
(
codigo int(11) NOT NULL AUTO_INCREMENT,
usuario varchar(100),
fecha datetime,
PRIMARY KEY (`codigo`)
)
ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1
delimiter $$
CREATE TRIGGER ajsoluciones.tg_auditoria_accesos
BEFORE INSERT ON ajsoluciones.factura
FOR EACH ROW
BEGIN
INSERT INTO ajsoluciones.log_accesos (usuario, fecha)
values (CURRENT_USER(), NOW());
END$$
delimiter ;
- LUIS CAMBAL -
Trigger (disparador)
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.
Los triggers son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute sentencias de SQL determinadas para tal efecto.
La estructura básica de un trigger es:
Llamada de activación.
Restricción.
Acción a ejecutar.
Existen dos tipos de disparadores:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
__________________________________________________
EJEMPLO DE UN TRIGGER
CREATE TABLE log_accesos
(
codigo int(11) NOT NULL AUTO_INCREMENT,
usuario varchar(100),
fecha datetime,
PRIMARY KEY (`codigo`)
)
ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1
delimiter $$
CREATE TRIGGER ajsoluciones.tg_auditoria_accesos
BEFORE INSERT ON ajsoluciones.factura
FOR EACH ROW
BEGIN
INSERT INTO ajsoluciones.log_accesos (usuario, fecha)
values (CURRENT_USER(), NOW());
END$$
delimiter ;
- LUIS CAMBAL -
Implementación de Aplicaciones con Triggers en MySQL
Trigger (disparador)
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).
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Row Triggers (o disparadores de fila): son aquellos que se ejecutaran n-veces si se llaman n-veces desde la tabla asociada al trigger.
Statement Triggers (o disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única.
2:) ejemplo en donde se compruebe un Triggers
CREATE TRIGGER jefes
BEFORE INSERT OR UPDATE OF cojefe ON Empleado
FOR EACH ROW
DECLARE supervisa INTEGER;
BEGIN
/*Seleccionar empleados que supervisa el jefe*/
/*Comprobar si supervisa > 5 empleados*/
END;
NOMBRE:HENRY CAMBAL
CURSO 5to SISTEMAS
Publicar un comentario