Búsqueda de sitios web

¿Crear una tabla temporal en un procedimiento MySQL?


Para crear una tabla temporal en un procedimiento MySQL, la siguiente es la sintaxis:

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

Implementemos la sintaxis anterior para crear una tabla temporal e insertar algunos registros en la tabla. La siguiente es la consulta para crear un procedimiento almacenado y una tabla temporal en él:

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

La siguiente es la consulta para insertar un registro en la tabla:

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

mysql> DELIMITADOR

Ahora puede llamar al procedimiento almacenado anterior para crear una tabla temporal:

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)

Muestre todos los registros de la tabla usando la declaración de selección:

mysql> select *from tmpDemoTable;

Producción

Esto producirá el siguiente resultado:

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

Artículos relacionados: