Computer >> Máy Tính >  >> Lập trình >> MySQL

Tạo một bảng tạm thời trong một thủ tục MySQL?


Để tạo bảng tạm thời trong thủ tục MySQL, sau đây là cú pháp -

CREATE PROCEDURE yourProcedureName()
   BEGIN
      CREATE TEMPORARY TABLE yourTemporaryTableName SELECT yourValue;
   END

Hãy để chúng tôi thực hiện cú pháp trên để tạo một bảng tạm thời và chèn một số bản ghi trong bảng. Sau đây là truy vấn để tạo một thủ tục được lưu trữ và một bảng tạm thời trong đó -

mysql> DELIMITER //
mysql> CREATE PROCEDURE create_Temporary_Table()
   -> BEGIN
   ->    CREATE TEMPORARY TABLE tmpDemoTable SELECT 500;
   -> END//
Query OK, 0 rows affected (0.15 sec)

Sau đây là truy vấn để chèn bản ghi trong bảng -

mysql> CREATE PROCEDURE insert_Record_InTempTable()
   -> BEGIN
   ->    INSERT INTO tmpDemoTable VALUES (300);
   -> END//
Query OK, 0 rows affected (0.06 sec)

mysql> DELIMITER

Bây giờ bạn có thể gọi thủ tục được lưu trữ ở trên để tạo một bảng tạm thời -

mysql> call create_Temporary_Table();
Query OK, 1 row affected (0.00 sec)

mysql> call insert_Record_InTempTable();
Query OK, 1 row affected (0.00 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 tmpDemoTable;

Đầu ra

Điều này sẽ tạo ra kết quả sau -

+-----+
| 500 |
+-----+
| 500 |
| 300 |
+-----+
2 rows in set (0.00 sec)