存储过程是 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
就行了。如果你有一堆存储过程要管理,记得时不时清理一下。想了解更多的存储过程语法,下面这些资源还是挺有的。