看个具体的例子:
在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)BEGINSELECT name, ageINTO out_name, out_ageFROM 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;
要获取更多Jerry的原创文章,请关注公众号"汪子熙":