MySQL过程与SELECT一起返回整个表
让我们首先创建一个表-
create table DemoTable1971 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentPassword int );
使用插入命令在表中插入一些记录-
insert into DemoTable1971(StudentName,StudentPassword) values('John','123456'); insert into DemoTable1971(StudentName,StudentPassword) values('Chris','123456'); insert into DemoTable1971(StudentName,StudentPassword) values('David','123456'); insert into DemoTable1971(StudentName,StudentPassword) values('Mike','123456');
使用select语句显示表中的所有记录-
select * from DemoTable1971;
这将产生以下输出-
+-----------+-------------+-----------------+ | StudentId | StudentName | StudentPassword | +-----------+-------------+-----------------+ | 1 | John | 123456 | | 2 | Chris | 123456 | | 3 | David | 123456 | | 4 | Mike | 123456 | +-----------+-------------+-----------------+ 4 rows in set (0.00 sec)
这是创建存储过程的查询-
delimiter // create procedure returnAll(pass varchar(30)) begin select * from DemoTable1971 where StudentPassword=pass; end // delimiter ;
现在您可以使用CALL命令调用存储过程-
call returnAll('123456');
这将产生以下显示整个表的输出-
+-----------+-------------+-----------------+ | StudentId | StudentName | StudentPassword | +-----------+-------------+-----------------+ | 1 | John | 123456 | | 2 | Chris | 123456 | | 3 | David | 123456 | | 4 | Mike | 123456 | +-----------+-------------+-----------------+ 4 rows in set (0.00 sec)