|
分類:[データベース全般]
お世話になります。 雑談気味になりますが、よろしくお願いします。
ストアドプロシージャとストアドファンクションの違いが良く 分かりません。 調べると「戻り値があるかないか」と書かれているのを良く見ますが 両方とも戻り値があります。
本やネット上の記事などでは、ストアドプロシージャが多く取り扱われて いますが、性能から見るとストアドファンクションの方が便利な ような気がしてなりません。
ストアドプロシージャとファンクションの使い分けが理解できれば この違いも理解できるのではないかと思っています。 「こういう場合は、プロシージャでは無理なのでファンクションを使う」 といった例を教えて頂けないでしょうか? よろしくお願いします。
一応、自分がまとめた部分です。 FROM句に使えるか否かが大きな違いだと思っています。 ┌───────┬─────────┬─────────┐ │───────│ストアドプロシージャ │ストアドファンクション │ ├───────┼─────────┼─────────┤ │CREATE │PROCEDURE │FUNCTION │ ├───────┼─────────┼─────────┤ │戻り値 │整数型のみ │整数値、テーブル型 │ ├───────┼─────────┼─────────┤ │呼び出 │EXECUTE │関数名のみ │ ├───────┼─────────┼─────────┤ │その他 │FROM句に指定不可 │FROM句に指定可能 │ └───────┴─────────┴─────────┘
|