7

SET ROWCOUNT値がパラメータからプロシージャに送られるため、使用しています。

SET ROWCOUNT @take 

SELECT * FROM Something

SET ROWCOUNT 0

別のプロシージャを同時に実行して行数設定を取得することは可能ですか、それともストアドプロシージャで使用するのは完全に安全ですか?

4

4 に答える 4

8

Rowcount は現在のスコープに固有であるため、安全です。ただし、Books Online では次のように説明されています (ニーズに影響する場合と影響しない場合があります)。

SET ROWCOUNT を使用しても、SQL Server の次のリリースの DELETE、INSERT、および UPDATE ステートメントには影響しません。新しい開発作業では、SET ROWCOUNT を DELETE、INSERT、および UPDATE ステートメントと共に使用しないでください。また、現在それを使用しているアプリケーションを変更することを計画してください。また、現在 SET ROWCOUNT を使用している DELETE、INSERT、および UPDATE ステートメントについては、TOP 構文を使用するように書き直すことをお勧めします。詳細については、「DELETE (Transact-SQL)」、「INSERT (Transact-SQL)」、または「UPDATE (Transact-SQL)」を参照してください。

TOP も変数を使用でき、INSERT、UPDATE、および DELETE ステートメントで使用できるようになりました。(ねえ、今日何か新しいことを学びました。) Books online で TOP と変数を使用する方法を調べてください。

于 2011-06-03T18:05:30.427 に答える