Kursory w oracl




Retel04.01.2007 19:35:59
#
Dołączył: 04.01.2007

Witam Mam taki problem, muszę zrobić w oracl graf, a poźniej za pomocą kursorów zrobić wyszukiwanie drogi w tym grafie (od jednego węzła do drugiego). Do stworzenia grafu uzyłem tabeli słownikowej:

create table miasta (idmiasta int primary key, nazwa varchar(20) not null UNIQUE);

a w opisie grafu posłużyłem się indeksami do słownika:

create table graf2 (od int, do int, odleglosc real, waga real, constraint pk Primary key (od, do), constraint fk1 Foreign key (od) References miasta(idmiasta), constraint fk2 Foreign key (do) References miasta(idmiasta) );

i teraz zaczynaja sie schody bo muszę zrobić wyszukiwanie drogi w takim grafie (schemat tego grafu można znaleść pod linkiem: rysunek grafu). Liczby nad nazwą miasta to nr indeksu - idmiasta w tabeli miasta).

Póki co stworzyłem tylko jeden kursor, który zwraca nam wartosci, ale tylko pomiędzy dwoma najbliższymi węzłami:

SET SERVEROUTPUT On; declare rec graf2%rowtype; cursor sledz is select * from graf2 where od = 2 and cel = 1; begin open sledz; fetch sledz into rec; while sledz%found loop dbms_output.put_line(sledz%rowcount); dbms_output.put_line(rec.od|| ' ' ||rec.cel|| ' ' ||rec.odleglosc||' '||rec.koszt); fetch sledz into rec; end loop; close sledz; end;

Jeśli ktoś ma jakiś pomysł na rozwiązanie tego proglemu to byłbym wdzięczny.




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?