Estimados Amigos,
Se que lo que voy a pedir es extraño, porque implica ir atrás "tecnologicamente hablando".
Tengo un procedimiento almacenado (Stored Procedure) en SQL Server, pero necesito usarlo en una aplicación que está en MS Access con ASP.
El Procedimiento busca rutas posibles entre 2 ciudades que entran como parametros (origen y destino) y utiliza una tabla llamada "proxima" donde se almacenan las ciudades proximas a una ciudad dada. Asi podrá ir "contruyendo" la ruta entre el origen y el destino.
Por lo que puedo ver, se trata de un procedimiento recursivo, que va concatenando los tramos que unen una ciudad con otra, hasta encontrar el destino indicado en el parametro.
Como no entiendo nada de SP, pido su colaboración para darme una mano con el código siguiente:
Código:
create procedure [dbo].[find_routes]
@origen int, @destino int, @ruta_param varchar(500) = ''
as
set nocount on
declare @ruta varchar(500)
if @ruta_param =''
set @ruta = cast(@origen as char(2))
else
set @ruta = @ruta_param
declare @rownum int, @rowcount int
declare @temp table (id int identity(1,1),origen int)
if not exists(select destino from proxima where origen=@origen and charindex(cast(destino as varchar(3)),@ruta)=0)
return
insert into @temp
select destino from proxima where origen=@origen and charindex(cast(destino as varchar(3)),@ruta)=0
set @rowcount=@@ROWCOUNT
set @rownum=1
while (@rownum<=@rowcount)
begin
declare @ruta1 varchar(500)
select @origen=origen from @temp where id=@rownum
set @ruta1=@ruta+'-'+cast(@origen as char(2))
if @origen<>@destino
exec find_routes @origen,@destino,@ruta1
else
begin
set @ruta=@ruta+'-'+cast(@origen as char(2))
print @ruta
end
set @rownum=@rownum+1
end
Saludos y un millón de gracias
Luis