5

動的クエリがあり、ストアド プロシージャで exec コマンドを使用して実行しています。

今、実行されたクエリの結果から上位 10 行のみを抽出したいと考えています。

クエリを変更できません。結果のみを抽出したい

これは私が実行しているクエリです。

 DECLARE @Str nvarchar(max)
 SET @str = 'SELECT *
      FROM tblC6FD_QueryBuilderMaster'

 EXEC (@str)

実際のクエリを変更せずに結果を制限するにはどうすればよいですか

ありがとう

4

2 に答える 2

2

「古い学校」の方法は、中間一時テーブルを持つことです...

CREATE TABLE #temp (yourColName yourType)

DECLARE @Str nvarchar(max)
SET @str = 'SELECT *
      FROM tblC6FD_QueryBuilderMaster'

INSERT INTO #temp 
EXEC (@str)

SELECT TOP 10 *
FROM #temp 

...そして、@eKek0が行ったように、「新しい」(SQL Server> = 2005)方法はROWCOUNTメソッドを使用します。

于 2013-08-12T12:01:05.693 に答える