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 匹配的记录的名称,并返回给用户。

MySQL 存储过程示例:查询国家、玩具信息

原文地址: https://www.cveoy.top/t/topic/ojD9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录