SQL Server の関数とストアド プロシージャ 質問する

SQL Server の関数とストアド プロシージャ 質問する

SQL でストアド プロシージャではなく関数を使用する必要があるのはいつですか。またその逆はどうですか。それぞれの目的は何ですか。

ベストアンサー1

関数は計算された値であり、SQL Server に対して永続的な環境変更を実行することはできません (つまり、INSERTorUPDATEステートメントは許可されません)。

関数は、スカラー値を返す場合は SQL ステートメント内でインラインで使用でき、結果セットを返す場合は結合できます。

回答を要約したコメントから注目すべき点が 1 つあります。@Sean K Anderson に感謝します。

関数は、コンピューター サイエンスの定義に従い、値を返す必要があり、パラメーター (引数) として受け取ったデータを変更することはできません。関数は何も変更できず、少なくとも 1 つのパラメーターを持ち、値を返す必要があります。ストアド プロシージャはパラメーターを持つ必要がなく、データベース オブジェクトを変更でき、値を返す必要はありません。

おすすめ記事