教程 mariadb tutorial

创建过程与函数

1. 存储过程(Stored Procedure)

存储过程是一组预编译的 SQL 语句集合,可以通过调用执行,实现复杂业务逻辑。

创建存储过程

sql
DELIMITER //

CREATE PROCEDURE AddUser(
    IN p_name VARCHAR(50),
    IN p_email VARCHAR(100)
)
BEGIN
    INSERT INTO users (name, email) VALUES (p_name, p_email);
END //

DELIMITER ;

`

调用存储过程

sql
CALL AddUser('Alice', 'alice@example.com');

2. 函数(Function)

函数是返回单个值的存储程序,可在查询中调用。

创建函数

sql
DELIMITER //

CREATE FUNCTION GetUserCount()
RETURNS INT
DETERMINISTIC
BEGIN
    DECLARE total INT;
    SELECT COUNT(*) INTO total FROM users;
    RETURN total;
END //

DELIMITER ;

使用函数

sql
SELECT GetUserCount();

3. 参数类型

  • IN:输入参数,只读。
  • OUT:输出参数,存储过程执行后返回。
  • INOUT:输入输出参数,既传入又返回。

存储过程和函数可封装业务逻辑,提高数据库操作的效率和安全性。