1

SELECT異なるタイプの 5 つのステートメントを書きたいのですが、目的は同じです。

それらのために5つの個別のストアドプロシージャを作成する必要がありますか?

CASEまたは、1 つのストアド プロシージャを作成し、スタイルに従って特定のストアド プロシージャに移動する必要がありますか?

5 つの簡単なSELECTステートメントは次のようになります。

SELECT a, b, c FROM table1 WHERE vv = 'ss'
SELECT a, b, c FROM table2 WHERE vv = 'ss'
4

2 に答える 2

3

パフォーマンスに関しては、さまざまな SP を使用する利点があります。さまざまな実行プランを設定でき、SQL サーバーが正しい実行プランをより効率的に取得できるからです。

1 つの手順を使用すると、保守が容易になり、コードが削減されます。

于 2012-11-15T10:23:57.737 に答える
0

パラメータが正しいテーブルを指している場合、動的クエリを使用してストアド プロシージャを作成することもできます。

Create proc test (@table varchar(50))
AS
BEGIN
DECLARE @str varchar (MAX)
SET @str = 'SELECT a, b, c FROM ' + @table + ' WHERE vv = ''ss'''
EXEC(@str)

プロはここにいます:あなたのテーブル名は動的です短所
:Uは、プロシージャを呼び出す場所でこのテーブル名を定義する必要があります。

于 2012-11-15T13:32:18.597 に答える