Возможный дубликат:
SQL Server - используйте параметр, чтобы выбрать верхний X результирующего набораМой запрос в моей хранимой процедуре выглядит примерно так:
select top 9 from my_table;
Я хотел бы отредактировать хранимую процедуру, чтобы динамически определять ограничение на основе параметра, однако это не работает:
ALTER PROCEDURE [dbo].[my_stored_procedure] @n INT(2) AS BEGIN SELECT TOP @n from my_table;
Это выполнимо? Или мне нужно сделать что-то вроде:
@n int(2), @sql varchar(30) @sql = 'select top ' + @n '* from my table'; exec(@sql);
Спасибо.