Возможный дубликат:
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);
Спасибо.