Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/09/2006, 21:21
Avatar de Mithrandir
Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 10 meses
Puntos: 25
Seguramente la cifra del TOP no sea algo que puedas usar en variables.

Tu caso es un ambiente perfectamente controlado donde el SQL dinámico es permitido. Prueba esto:

ALTER PROCEDURE PA_LibroDelDia
(
@nDias int
)
AS
BEGIN
DECLARE @posi int
DECLARE @sql NVarChar(500)
SET @posi = @nDias % (SELECT COUNT(*) FROM Libros)
SET @sql='SELECT TOP ' + Convert(NVarChar, @posi) + ' * FROM Libros'
EXEC sp_executesql @sql
END
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche