# Stored Procedures and Triggers
## Agenda
Understanding Stored Routines
- Benefits and Downsides of Stored Routines
Creating and Executing Stored Procedures
- Syntax for Creating a Stored Procedure
- Initial Stored Procedure example
- Stored Procedure CharacteristicsProgrammatic Maintenance
- Defining a Stored Procedure with Characteristics
- Control Structures in Stored Procedures and Functions
- Exception Handler
- Variables
- Cursors
- Permissions
Creating and Using Stored Functions
- Syntax for Creating a Stored Function
- Defining a Stored Function
Using Stored Routines in Queries
Understanding Triggers
- Definition, functionalities and syntax
- Triggering Events and Actions in SQL: some good practices & hints
Creating and Using Triggers
- Data Validity
- Data Change Auditing
- Data Integrity
- Programmatic Maintenance
- Statement Level aggregation
Managing Triggers
- Enabling / disabling triggers
- Dropping triggers
- When Not To Use Triggers
## References
[MySQL Documentation on Stored Routines](https://dev.mysql.com/doc/refman/9.2/en/stored-routines.html) (Procedures & Functions)
[MySQL Documentation on Triggers](https://dev.mysql.com/doc/refman/8.0/en/triggers.html)
[MySQL Sakila Database](https://dev.mysql.com/doc/sakila/en/)
[MySQL Stored Procedure Tutorial](https://www.mysqltutorial.org/mysql-stored-procedure/)
[MySQL Triggers Tutorial](https://www.mysqltutorial.org/mysql-triggers/)
[Working with MySQL Stored Procedures - Simple Talk](https://www.red-gate.com/simple-talk/databases/mysql/working-with-mysql-stored-procedures/)
## Flashcards
[Stored Procedures and Triggers - AnkiWeb](https://ankiweb.net/shared/info/1879542724?cb=1738340208508)