Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Stored Procedure MySQL không lấy toàn bộ bảng?

Stored Procedure MySQL không lấy toàn bộ bảng?

Bạn có thể sử dụng SELECT * FROM yourTableName trong stored procedure. Hãy tạo một bảng trước:

mysql> create table DemoTable654 (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName varchar(100)
);
Query OK, 0 rows affected (0.70 sec)

Chèn một số bản ghi vào bảng bằng lệnh insert:

mysql> insert into DemoTable654(StudentFirstName) values('John');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable654(StudentFirstName) values('Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable654(StudentFirstName) values('Mike');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable654(StudentFirstName) values('Robert');
Query OK, 1 row affected (0.12 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select:

mysql> select * from DemoTable654;

Điều này sẽ tạo ra đầu ra sau:

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | John             |
| 2         | Sam              |
| 3         | Mike             |
| 4         | Robert           |
+-----------+------------------+
4 rows in set (0.00 sec)

Truy vấn sau lấy các bản ghi của toàn bộ bảng sử dụng stored procedure:

mysql> DELIMITER //
mysql> CREATE PROCEDURE getWholeTable()
    BEGIN
    SELECT * FROM DemoTable654;
    END
    //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;

Bây giờ bạn có thể gọi stored procedure trên bằng lệnh call:

mysql> call getWholeTable();

Điều này sẽ tạo ra đầu ra sau:

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | John             |
| 2         | Sam              |
| 3         | Mike             |
| 4         | Robert           |
+-----------+------------------+
4 rows in set (0.08 sec)
Query OK, 0 rows affected (0.13 sec)