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

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

王林
リリース: 2023-09-05 08:45:12
転載
1218 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート