1. ホーム
  2. sql

[解決済み] 関数とストアドプロシージャの比較

2023-03-28 12:49:24

質問

結果としてテーブルを返す必要がある T-SQL コードを実装する必要があるとします。私は、テーブル値関数または行のセットを返すストアド プロシージャを実装することができます。何を使用すべきでしょうか?

要するに、私が知りたいことは。

関数とストアドプロシージャの主な違いは何ですか? どちらかを使用する場合、どのような点に注意しなければなりませんか?

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

このコード片の結果を他のテーブルと組み合わせたいと思う可能性がある場合、明らかにテーブル値関数によって、単一のSELECT文で結果を構成することができます。

一般的に、階層構造(View < TV Function < Stored Proc)があります。それぞれでより多くのことができますが、出力を構成する能力と、オプティマイザが本当に関与する能力は、機能が増加するにつれて低下します。

ですから、必要な結果を表現できる最小限のものを使うようにしましょう。