Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/09/2006, 03:33
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años, 4 meses
Puntos: 4
Perdón por no contestar, no he recibido los mensajes de aviso de respuesta.

Bien, la solución estaba por usar SQL dinámico ya que tengo SQL Server 2000. Funciona bien, pero me ha surgido un problema al intentar darle una vuelta de tuerca al asunto. Si intento que también la tabla sobre la que se hacen las consultas se establezca dinámicamente me empieza a dar errores de sintaxis junto a EXECUTE:

Código:
ALTER PROCEDURE PA_LibroDelDia
(
	@nDias int,
	@tabla varchar(50)
)
AS
BEGIN
	DECLARE @vSQL varchar(1000), @posi int
	SELECT @vSQL = '(' + CONVERT(varchar,@nDias) + ' % (SELECT COUNT(*) FROM ' + @tabla + ') )+1'
	SELECT @posi = EXECUTE(@vSQL)
	SELECT @vSQL = 'SELECT TOP 1 tope.*  FROM (SELECT TOP ' + CONVERT(varchar,@posi) + ' * FROM ' + @tabla + ' ORDER BY id) AS tope ORDER BY id DESC'
	
	EXECUTE(@vSQL)
END
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!