Requisito previo: activador de SQL | Base de datos de estudiantes
Por ejemplo, dado el esquema de base de datos de gestión de libros de biblioteca con el esquema de base de datos de estudiantes. En estas bases de datos, si algún estudiante toma prestado un libro de la biblioteca, el recuento de ese libro específico debe disminuir. Para hacerlo,
Supongamos que el esquema con algunos datos,
mysql> select * from book_det; +-----+-------------+--------+ | bid | btitle | copies | +-----+-------------+--------+ | 1 | Java | 10 | | 2 | C++ | 5 | | 3 | MySql | 10 | | 4 | Oracle DBMS | 5 | +-----+-------------+--------+ 4 rows in set (0.00 sec) mysql> select * from book_issue; +------+------+--------+ | bid | sid | btitle | +------+------+--------+ 1 row in set (0.00 sec)
Para implementar dicho procedimiento, en el que si el sistema inserta los datos en la base de datos book_issue, un disparador debería invocar automáticamente y disminuir el atributo de copias en 1 para que se pueda mantener un seguimiento adecuado del libro.
Disparador para el sistema –
create trigger book_copies_deducts after INSERT on book_issue for each row update book_det set copies = copies - 1 where bid = new.bid;
El disparador anterior se activará cada vez que se realice una operación de inserción en una base de datos book_issue, actualizará el esquema book_det que establece copias decrementadas en 1 de la identificación del libro actual (oferta).
Resultados –
mysql> insert into book_issue values(1, 100, "Java"); Query OK, 1 row affected (0.09 sec) mysql> select * from book_det; +-----+-------------+--------+ | bid | btitle | copies | +-----+-------------+--------+ | 1 | Java | 9 | | 2 | C++ | 5 | | 3 | MySql | 10 | | 4 | Oracle DBMS | 5 | +-----+-------------+--------+ 4 rows in set (0.00 sec) mysql> select * from book_issue; +------+------+--------+ | bid | sid | btitle | +------+------+--------+ | 1 | 100 | Java | +------+------+--------+ 1 row in set (0.00 sec)
Como los resultados anteriores muestran que tan pronto como se insertan los datos, las copias del libro se deducen del esquema del libro en el sistema.
Publicación traducida automáticamente
Artículo escrito por bilal-hungund y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA