472,126 Members | 1,628 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,126 software developers and data experts.

Recursive stored procedure

Hi all,

I need your help.
I'm creating a program to display the circuit of Bus by city and stop.

This is my example and i don't know how to do it:

I have 3 differents circuits of bus and each circuit can have one or multiple transfer to another circuit.

So let's say i'm looking for a trajet from City1/Stop1 (source) To City3/Stop11(destination)

Here's the scenario:

Bus 1:
------
City1/ Stop1: 6h30 am (bus departure) / SOURCE
City1/ Stop2: 6h50 am -> Transfer to Bus 2 (transfert at 6h55am)
City1/ Stop3: 6h55 am
City1/ Stop4: 7h00 am
...
City1/ Stop12: 12h50 pm
City1/ Stop13: 13h00 pm
...

Bus 2:
------
City2/ Stop1: 6h00 am (bus departure)
City2/ Stop2: 6h10 am
City2/ Stop3: 6h20 am
City1/ Stop2 (e.g stop 4): 6h55 am ***
City2/ Stop5: 7h00 am
City2/ Stop6: 7h10 am
City2/ Stop7: 7h20 am -> Transfer to Bus 3 (at 7h28 am)
City2/ Stop8: 7h30 am
City2/ Stop9: 7h40 am -> Transfer to Bus 8
City2/ Stop10: 7h50 am
City2/ Stop11: 8h05 am
City2/ Stop12: 8h15 am
etc...

Bus 3:
------
City3/ Stop1: 5h00 am (departure)
City3/ Stop2: 5h40 am
City3/ Stop3: 6h20 am
City3/ Stop3: 6h50 am
City3/ Stop5: 7h00 am
City3/ Stop6: 7h20 am
City3/ Stop7: 7h28 am ***
City3/ Stop8: 7h35 am
City3/ Stop9: 7h40 am
City3/ Stop10: 7h45 am
City3/ Stop11: 7h55 am / DESTINATION
City3/ Stop12: 8h15 am
etc...

So my trajet should be:
-----------------------
Bus1:
Departure: City1/Stop1: 6h00 am
Arrival: City1/Stop2: 6h50 am

Transfert to Bus 2:
Departure: City1/ Stop2 (e.g stop 4): 6h55 am
Arrival: City2/ Stop7: 7h20 am

Transfert to Bus 3:
Departure: City3/ Stop7: 7h28 am
Arrival: City3/ Stop11: 7h55 am

Can anyone help me and tell me how to do it as a recursive stored procedure ?
I tried many examples/algorithms but i didn't succeed.

I have 2 differents tables.
The first table is dedicated for Circuits/Bus:

CREATE TABLE [dbo].[Trajets](
[TRAJET_ID] [int] IDENTITY(1,1) NOT NULL,
[CIRCUIT_ID] [int] NOT NULL,
[CITY_ID] [int] NOT NULL,
[STOP_ID] [int] NOT NULL,
[DAY_ID] [int] NOT NULL,
[HOUR] [int] NOT NULL,
[MINUTE] [int] NOT NULL,
[TYPE_ARRET] [nvarchar](50) NULL,
[TRANSFERT] [bit] NOT NULL,
[TYPE_TRANSFERT] [int] NULL,
[DIRECTION] [nvarchar](50) NULL,
CONSTRAINT [PK_Trajets] PRIMARY KEY (TRAJET_ID)
)


The 2nd one is dedicated for Transfers:

CREATE TABLE [dbo].[Transferts](
[TRANSFERT_ID] [int] IDENTITY(1,1) NOT NULL,
[TRAJET_ID] [int] NOT NULL,
[CIRCUIT_ID] [int] NOT NULL,
CONSTRAINT [PK_Transferts] PRIMARY KEY (Transfert_Id)
)



Thank you

Paul
Mar 16 '09 #1
0 1878

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

3 posts views Thread by Robert Song | last post: by
2 posts views Thread by Dino L. | last post: by
4 posts views Thread by Henrik Juul | last post: by
3 posts views Thread by oregondba | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.