mysql 存储过程的入参与传参

  • 第1步,创建测试数据,示例库 it 示例表 users
CREATE DATABASE IF NOT EXISTS it;
USE it;
CREATE TABLE IF NOT EXISTS users(id int, name varchar(20));
INSERT INTO users VALUES(1,'aaa');
INSERT INTO users VALUES(2,'bbb');
  • 第2步,创建一个入参与传参的存储过程,示例存储过程 get_name (传入 id 返回 name)
USE it;
DROP PROCEDURE IF EXISTS `get_name`;
DELIMITER $$
CREATE PROCEDURE `get_name`(IN user_id int, OUT user_name varchar(20)) 
BEGIN 
  SELECT name INTO user_name FROM users WHERE id = user_id;
END$$
DELIMITER ;
  • 第3步,测试一下,示例 返回 id=2 的 name 名称
(root@localhost) [it]> SET @user_name = '';
(root@localhost) [it]> CALL it.get_name(2, @user_name);
(root@localhost) [it]> SELECT @user_name;
+------------+
| @user_name |
+------------+
| bbb        |
+------------+
Copyright © www.sqlfans.cn 2021 - 2026 All Right Reserved更新时间: 2025-03-21 18:45:37

results matching ""

    No results matching ""