1

SQL Server でのストアド プロシージャの設計に関する一般的な質問があります。

私は Web サイトを持っており、ユーザーは最大 30 の属性を使用して何かを検索できます (つまり、30 の条件すべてを使用することも、5 つだけを使用することもできます)。

このためのストアド プロシージャをどのように設計しますか? この手順を設計する際に留意する点は何ですか?

前もって感謝します。

4

2 に答える 2

1

おそらく動的SQLを調べる必要があります。

ここに私が思ういくつかの貴重な情報があります: http://www.sommarskog.se/dynamic_sql.html

基本的に、ユーザーの基準に基づいて動的に SQL クエリを作成します。

于 2012-10-25T04:10:18.073 に答える
1

次のようなことができます。

create procedure foo
@param1 int = null,
@param2 int = null,
@param3 int = null,
...

次に、where句でこれを行うことができます:

where (@param1 = null or @param1 = somevalue)
    and (@param2 = null or @param2 = somevalue)
    ....

null 許容パラメーターを使用することで、パラメーターの任意の組み合わせをストアド プロシージャに簡単に渡すことができます。実行計画を注意深く監視し、パラメータ スニッフィングが発生しないように注意してください。

于 2012-10-25T04:10:26.280 に答える