Un procedimiento almacenado en MariaDB se puede escribir utilizando la instrucción `CREATE PROCEDURE`. Aquí te muestro un ejemplo básico:
```sql
DELIMITER //
CREATE PROCEDURE SimpleProcedure()
BEGIN
SELECT ‘¡Hola, mundo!’;
END;
//
DELIMITER ;
```
En este ejemplo, el procedimiento almacenado se llama `SimpleProcedure` y cuando se ejecuta, solo selecciona la cadena ‘¡Hola, mundo!’.
Usemos un procedimiento almacenado un poco más complejo que utiliza parámetros y realiza una operación de base de datos:
```sql
DELIMITER //
CREATE PROCEDURE GetEmployeeDetails (IN empID INT)
BEGIN
SELECT * FROM Employees WHERE EmployeeID = empID;
END;
//
DELIMITER ;
```
Este procedimiento almacenado se llama `GetEmployeeDetails` y acepta un parámetro `empID`. Cuando se ejecuta, selecciona todos los detalles del empleado que tenga el ID que se proporcione.
Para invocar un procedimiento almacenado, puedes usar la instrucción `CALL`, así:
```sql
CALL GetEmployeeDetails(1234);
```
Esto ejecutará el procedimiento almacenado `GetEmployeeDetails` con `1234` como el `empID`.
Es importante notar que estamos usando `DELIMITER //` al principio y `DELIMITER ;` al final. Esto es porque queremos decirle a MariaDB que cambie el delimitador estándar de sentencias SQL (`;`) por `//` para que podamos usar este último para terminar la declaración del procedimiento. Luego cambiamos el delimitador de nuevo a `;` para las sentencias SQL normales.