
21/09/2006, 21:21
|
 | 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 |