# Stored Routines

- [Stored Procedures](/docs/server/server-usage/stored-routines/stored-procedures.md): Master stored procedures in MariaDB Server. This section covers creating, executing, and managing these powerful routines to encapsulate complex logic and improve application performance.
- [Stored Procedure Overview](/docs/server/server-usage/stored-routines/stored-procedures/stored-procedure-overview.md): Stored procedures are precompiled collections of SQL statements stored on the server, allowing for encapsulated logic, parameterized execution, and improved application performance.
- [CREATE PROCEDURE](/docs/server/server-usage/stored-routines/stored-procedures/create-procedure.md): Complete CREATE PROCEDURE guide for MariaDB. Complete reference documentation for implementation, configuration, and usage with comprehensive examples and.
- [ALTER PROCEDURE](/docs/server/server-usage/stored-routines/stored-procedures/alter-procedure.md): The ALTER PROCEDURE statement modifies the characteristics of an existing stored procedure, such as its security context or comment, without changing its logic.
- [DROP PROCEDURE](/docs/server/server-usage/stored-routines/stored-procedures/drop-procedure.md): The DROP PROCEDURE statement permanently removes a stored procedure and its associated privileges from the database.
- [Stored Functions](/docs/server/server-usage/stored-routines/stored-functions.md): Utilize stored functions in MariaDB Server. This section details creating, using, and managing user-defined functions to extend SQL capabilities and streamline data manipulation.
- [Stored Function Overview](/docs/server/server-usage/stored-routines/stored-functions/stored-function-overview.md): A Stored Function is a set of SQL statements that can be called by name, accepts parameters, and returns a single value, enhancing SQL with custom logic.
- [Stored Aggregate Functions](/docs/server/server-usage/stored-routines/stored-functions/stored-aggregate-functions.md): Stored Aggregate Functions allow users to create custom aggregate functions that process a sequence of rows and return a single summary result.
- [Stored Routine Privileges](/docs/server/server-usage/stored-routines/stored-functions/stored-routine-privileges.md): This page explains the privileges required to create, alter, execute, and drop stored routines, including the automatic grants for creators.
- [DROP FUNCTION](/docs/server/server-usage/stored-routines/stored-functions/drop-function.md): The DROP FUNCTION statement removes a stored function from the database, deleting its definition and associated privileges.
- [Stored Function Limitations](/docs/server/server-usage/stored-routines/stored-functions/stored-function-limitations.md): This page details the restrictions on stored functions, such as the inability to return result sets or use transaction control statements.
- [Binary Logging of Stored Routines](/docs/server/server-usage/stored-routines/binary-logging-of-stored-routines.md): When binary logging is enabled, stored routines may require special handling (like SUPER privileges) if they are non-deterministic, to ensure consistent replication.
- [Stored Routine Limitations](/docs/server/server-usage/stored-routines/stored-routine-limitations.md): Stored routines have specific restrictions, such as prohibiting certain SQL statements (e.g., LOAD DATA) and disallowing result sets in functions.
- [DBMS\_OUTPUT](/docs/server/server-usage/stored-routines/dbms_output.md): The DBMS\_OUTPUT plugin provides Oracle-compatible output buffering functions (like PUT\_LINE), allowing stored procedures to send messages to the client.
