如何使用一个MySQL SELECT语句设置存储过程中的两个变量?
为此,我们首先在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)
使用INSERT命令在表中插入一些记录。
查询如下:
mysql> insert into useProcedure(FirstName,LastName) values('Adam','Smith');
Query OK, 1 row affected (0.27 sec)
以下是用于使用单个SELECT语句在存储过程中设置两个变量的存储过程。创建存储过程的查询如下。
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)
阅读更多:MySQL 教程
极客教程