存储过程是 MySQL 中常用的功能,能你封装复杂的 SQL 逻辑,提高效率。创建存储过程其实挺简单,像下面这样:

delimiter //
DROP PROCEDURE IF EXISTS test;
CREATE PROCEDURE test(IN inparms INT, OUT outparams VARCHAR(32))
BEGIN
    DECLARE var CHAR(10);
    IF inparms = 1 THEN
        SET var = 'hello';
    ELSE
        SET var = 'world';
    END IF;
    INSERT INTO t1 VALUES (var);
    SELECT name FROM t1 LIMIT 1 INTO outparams;
END //
delimiter ;

这段代码定义了一个存储过程,根据传入的参数值不同,插入不同的值。调用时,只需要像这样:call test(1, @out);

你看,是不是蛮直观的?不过记得,创建存储过程前最好确认没有同名的存储过程,避免冲突。

至于删除存储过程,其实也不复杂,直接用DROP PROCEDURE就行了。如果你有一堆存储过程要管理,记得时不时清理一下。想了解更多的存储过程语法,下面这些资源还是挺有的。