2011-06-28 22 views
0

私はさまざまな理由からこれらを増やすことを嫌います。デバッグ、実行計画の欠如、パーミッションの問題などがあります。ストアドプロシージャに巨大な動的SQL文を作成して実行する方法はありますか?ダイナミックストアドプロシージャの代替手段はありますか?

+0

とする私たちに具体的なケースを与える:パラメータの名前が@Rangeであれば、(。。すなわち、200は、報告書は、これまで私は願っていなければなりません最大である)ので、あるでしょう検討してください。 –

答えて

1

時には、不要な一時テーブルから行を削除することによって動的SQLを回避することがあります。しかし、これはパフォーマンスにとって最善であるとは言いません - 私は、動的SQLを避けるなど、パフォーマンスが他の要素に次ぐ場所よりも頻繁にデータウェアハウスで作業します。

ここでは、TOP xレコードを呼び出すレポートについて、最大値、たとえば200を選択し、残りの値を単純に削除します。

この質問の範囲を絞り込む
SELECT TOP 200 
... 

DELETE FROM #MyTemp where Counter > @Range 
+0

私は知っています。なぜそれがあなたを混乱させたのか分かりません。 TOPコマンドは変数を許可しないので、動的SQLを使用してその問題を解決することがあります。 –

+0

私は完全にそれを今得ます、私はあなたのコードを改善できる例を作った。私の以前の投稿を削除し、良い例を挙げて立ち上げるべき点を示しました。 –

関連する問題