1. ホーム
  2. mysql

[解決済み] MySQLストアドプロシージャと関数の比較、どちらを使うべき?

2022-04-13 06:14:14

質問

MySQLのストアドプロシージャと関数について調べています。実際のところ、どのような違いがあるのでしょうか?

似ているようですが、関数はより多くの制限があります。

私の勘違いかもしれませんが、ストアドプロシージャはストアドファンクションよりも何でもできるような気がします。なぜ、どのような場合にプロシージャと関数を使い分けるのでしょうか?

どのように解決するのですか?

ストアドプロシージャは通常のSQLと混在できませんが、ストアド関数は混在可能です。

SELECT get_foo(myColumn) FROM mytable は有効ではありません。 get_foo() はプロシージャですが、もし get_foo() は関数です。その代償として、関数はプロシージャよりも制約が多い。