私は、データベース内のいくつかの操作のためのストアドプロシージャを書いています、私は知りたいと思った:複数の操作に1つの手順を使用するか、複数の手順に分割する必要がありますか?
- は、それは、追加実行することができ、テーブルのための単一の手順を設計変更し、操作を削除するか、した方が良いです...
- 私はアプローチが良いだろう、各事業
ための別々の手続きを設計すべきか?
私は、データベース内のいくつかの操作のためのストアドプロシージャを書いています、私は知りたいと思った:複数の操作に1つの手順を使用するか、複数の手順に分割する必要がありますか?
ための別々の手続きを設計すべきか?
私は、操作ごとに別々のストアドプロシージャが最適だと言います。さもなければ、あなたの手続きの内部ではあまりにも多くのロジックを取得します
さらに、ほとんどの操作には異なるパラメータが必要です。削除の場合、主キーのみが必要ですが、挿入するにはnull可能な列でない値をすべて指定する必要があります。レコードを削除するだけの場合は、ダミーの挿入パラメータを指定する必要はありません。
少なくとも、if ... elseロジックでいくつかのSQLコマンドが必要です。ストアドプロシージャは、まさに1つのことをすれば、管理がはるかに簡単です。
これは通常の手続き型開発から移行可能な概念ですが、ストアドプロシージャにはさらに強力に適用されます。
メリット:テストが簡単で、意味のあるSP名(CustomerHandlerではなくUpdateCustomerなど)、結合の結合/結合性の向上、手続きの簡略化、引数の削減。
手順ごとに1回の操作。
あなたはボブおじさんを愛していない:Single responsibility principle
それは異なるロジックのための異なる手順を実装するのが最善です。
このようにすれば、コードを簡単に管理して依存関係を減らすことができます。
アショク、あなたの質問を提出する前に余分な数秒を取ってみてください。可能な限り最良の答えを得るには、あなたの質問に説明的なタイトルをつけ、実際の質問を数秒で簡単に理解できるように書き留めてください。ありがとう。 –
次回以降、私はアドバイスをします。 ありがとうございます。 –
@Ashok:あなたの質問に対する答えは以下のいずれかですか?もしそうなら、それらの1つを答えにする必要があります。そうでない場合は、もちろん質問を開いたままにすることができます。 –