Use la variable con TOP en la declaración de selección en SQL Server sin hacerlo dinámico [duplicado]

Esta pregunta ya tiene una respuesta aquí:

SELECT TOP dinámico @var en SQL Server 6 respuestas
declare @top  int
set @top = 5
select top @top * from tablename

¿Es posible?

¿O alguna idea para tal lógica (no quiero usar una consulta dinámica)?