MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLプロシージャで一時テーブルを作成しますか?


MySQLプロシージャで一時テーブルを作成するには、次の構文を使用します-

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

上記の構文を実装して一時テーブルを作成し、テーブルにいくつかのレコードを挿入してみましょう。以下は、ストアドプロシージャとその中に一時テーブルを作成するためのクエリです-

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

以下は、テーブルにレコードを挿入するためのクエリです-

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

mysql> DELIMITER

これで、上記のストアドプロシージャを呼び出して、一時テーブルを作成できます-

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)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from tmpDemoTable;

出力

これにより、次の出力が生成されます-

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

  1. MySQLストアドプロシージャのテーブルにデータを挿入しますか?

    ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter)    begin    insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928    (    Id int NOT NUL

  2. SHOW CREATE TABLEを実行するためのMySQLストアドプロシージャ?

    ストアード・プロシージャーでSHOW CREATE TABLEを実行するには、SHOWCREATETABLEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2011    -> (    -> StudentId int NOT NULL AUTO_INCREMENT,    -> StudentName varchar(20),    -> StudentAge int,    -> StudentCo