#oracle #recursion #plsql #backtracking
#Oracle #рекурсия #plsql #отслеживание возврата
Вопрос:
Мне нужно иметь возможность вычислять минимальное расстояние между двумя городами, учитывая таблицу, в которой указаны расстояния между парами городов. Два города не могут быть соединены напрямую, вместо этого они могут быть соединены через третий город и так далее.
Вот таблицы, которые у меня есть
SQL> desc city
Name Null? Type
----------------------------------------- -------- ------------
CITY_ID NOT NULL NUMBER
CITY_NAME NOT NULL VARCHAR2(80)
CITY_STATE VARCHAR2(80)
ACTIVE CHAR(1)
и
SQL> desc connection
Name Null? Type
----------------------------------------- -------- -------
CITY1 NOT NULL NUMBER
CITY2 NOT NULL NUMBER
NO_OF_DAYS NOT NULL NUMBER
Я не знаю, как рекурсия и обратное отслеживание работают в pl / sql.
Комментарии:
1. Почему это кажется чем-то, что не подходит для выполнения в SQL?
Ответ №1:
Вы могли бы попробовать кодировать алгоритм Дейкстры в PL / SQL.
Или попробуйте это решение SQL.
Комментарии:
1. Отлично, я искал что-то вроде второй ссылки, которую вы опубликовали. Большое спасибо.