ホームページ  >  記事  >  データベース  >  MySQL ストアド プロシージャは、その内部で別の MySQL ストアド プロシージャをどのように呼び出すのでしょうか?

MySQL ストアド プロシージャは、その内部で別の MySQL ストアド プロシージャをどのように呼び出すのでしょうか?

王林
王林転載
2023-09-05 08:45:121201ブラウズ

MySQL ストアド プロシージャは、その内部で別の MySQL ストアド プロシージャをどのように呼び出すのでしょうか?

#MySQL ストアド プロシージャは、その中で別の MySQL ストアド プロシージャを呼び出すことができる場合があります。これを実証するために、あるストアド プロシージャが別のストアド プロシージャを呼び出して last_insert_id を確認する例を考えてみましょう。

mysql> Create table employee.tbl(Id INT NOT NULL AUTO_INCREMENT, Name Varchar(30) NOT NULL, PRIMARY KEY(id))//
Query OK, 0 rows affected (3.87 sec)

mysql> Create Procedure insert1()
   -> BEGIN insert into employee.tbl(name) values ('Ram');
   -> END//
Query OK, 0 rows affected (0.10 sec)

次のプロシージャ insert2() では、最初のストアド プロシージャ、つまり insert1() を呼び出します。

mysql> Create Procedure insert2()
   -> BEGIN
   -> CALL insert1();
   -> Select last_insert_id();
   -> END //
Query OK, 0 rows affected (0.11 sec)
mysql> Delimiter ;

mysql> Call insert2();
+------------------+
| last_insert_id() |
+------------------+
| 1                |
+------------------+
1 row in set (0.36 sec)
Query OK, 0 rows affected (0.37 sec)

上記の結果セットは、insert1() を呼び出すと、employee.tbl という名前のテーブルに最初の値が挿入され、2 番目のストアド プロシージャ (つまり、insert2 () で insert1() を呼び出すと、その値が挿入されることを示しています。 )、出力 1 が得られます。

以上がMySQL ストアド プロシージャは、その内部で別の MySQL ストアド プロシージャをどのように呼び出すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。