如何在MySQL中创建存储过程

时间:2022-07-22
本文章向大家介绍如何在MySQL中创建存储过程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

看个具体的例子:

在TEST数据库中创建一个存储过程,名为getRecord:

DELIMITER $$
DROP PROCEDURE IF EXISTS `TEST`.`getRecord` $$
CREATE PROCEDURE `TEST`.`getRecord` (
IN in_id INTEGER,
OUT out_name VARCHAR(20),
OUT out_age  INTEGER)
BEGIN
   SELECT name, age
   INTO out_name, out_age
   FROM Student where id = in_id;
END $$
DELIMITER ;

这个存储过程接受学生ID为输入,输出为学生的名字和年龄,实现一个简单的查询功能。

存储过程创建完毕后,用如下的命令行查询其状态:

show procedure status like ‘g%’

另外一条查询命令:

show create procedure test.getRecord

MySQL里的information_schema.Routines这张表类似SAP ABAP里的TADIR(对象注册表),所以我们也可以查询该表里对应的存储过程的记录:

select * from information_schema.Routines where routine_name = ‘getRecord’ and routine_type = ‘procedure’ G;