如何在具有单个 MySQL 选择语句的存储过程中设置两个变量?


为此,我们首先在 MySQL 中创建一个新表

mysql> create table useProcedure
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > FirstName varchar(20),
   - > LastName varchar(20)
   - > );
Query OK, 0 rows affected (0.65 sec)

使用插入命令在表中插入一些记录。

查询如下

mysql> insert into useProcedure(FirstName,LastName) values('Adam','Smith');
Query OK, 1 row affected (0.27 sec)

以下是存储过程中的变量设置,方法是使用单个选择语句。创建存储过程的查询如下

mysql> DELIMITER //
mysql> create procedure Sp_Demo()
   - > BEGIN
   - > declare one varchar(20);
   - > declare two varchar(20);
   - > select FirstName, LastName INTO one, two from useProcedure where id = 1;
   - > select one, two;
   - > END;
   - > //
Query OK, 0 rows affected (0.26 sec)
mysql> DELIMITER ;

使用 CALL 命令调用存储过程。

查询如下

mysql> call Sp_Demo();

以下是输出

+------+-------+
| one  | two   |
+------+-------+
| Adam | Smith |
+------+-------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

更新时间:30-Jul-2019

2 千次以上浏览

开启你的 职业

完成课程获得证书

开始
广告
© . All rights reserved.