MySQL 存储过程示例:查询国家、玩具信息
MySQL 存储过程示例:查询国家、玩具信息
本文提供四个 MySQL 存储过程示例,分别用于查询国家列表、玩具列表、根据名称查询玩具和根据 ID 查询玩具。使用游标、参数传递等技术,实现灵活的数据操作。
1. 查询国家信息
CREATE PROCEDURE display_countries()
BEGIN
DECLARE country_id INT;
DECLARE country_name VARCHAR(255);
DECLARE done INT DEFAULT FALSE;
DECLARE cur_countries CURSOR FOR SELECT id, name FROM country;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur_countries;
SET @count = 0;
WHILE !done AND @count < 9 DO
FETCH cur_countries INTO country_id, country_name;
SELECT country_id, country_name;
SET @count = @count + 1;
END WHILE;
CLOSE cur_countries;
END;
该存储过程使用游标遍历 country 表,获取前九条记录的国家 ID 和名称,并返回给用户。
2. 查询玩具信息
CREATE PROCEDURE display_toys()
BEGIN
SELECT id, description FROM toys LIMIT 9;
END;
该存储过程直接使用 LIMIT 语句,获取 toys 表的前九条记录的 ID 和描述,并返回给用户。
3. 根据名称查询玩具
CREATE PROCEDURE display_toy_by_name(IN toy_name VARCHAR(255))
BEGIN
SELECT id, description FROM toys WHERE name = toy_name;
END;
该存储过程接收一个名为 toy_name 的参数,根据该参数查询 toys 表中名称匹配的记录的 ID 和描述,并返回给用户。
4. 根据 ID 查询玩具
CREATE PROCEDURE display_toy_by_id(IN toy_id INT)
BEGIN
SELECT name FROM toys WHERE id = toy_id;
END;
该存储过程接收一个名为 toy_id 的参数,根据该参数查询 toys 表中 ID 匹配的记录的名称,并返回给用户。
原文地址: https://www.cveoy.top/t/topic/ojD9 著作权归作者所有。请勿转载和采集!