Informix-4gl CURSOR i FOREACH – jak pobrać dane z bazy danych Informix SQL
W poprzednim wpisie pobieraliśmy jedną wartość z bazy danych i za pomocą INTO przypisaliśmy do zmiennej, a następnie wyświetliliśmy. Teraz pokaże w jaki sposób pobrać więcej danych, przypisać do zmiennych i wyświetlić. Do tego wykorzystamy utworzony kursor: q_students oraz pętlę: foreach.
Tak jak ostatnio. oprzemy się na tabeli; stundents znajdującej się w bazie danych: school.
database school main define x_name char(50), x_surname char(50), x_phone char(15) declare q_students cursor for select name, surname, phone from students foreach q_students into x_name, x_surname, x_phone display x_name clipped, " ", x_surname clipped, " ", x_phone clipped end foreach end main
W powyższym przykładzie połączyliśmy się z bazą danych: school oraz przy pomocy define zdeklarowaliśmy zmienne x_name, x_surname, x_phone – wszystkie typu char o długościach wskazanych w nawiasach.
Aby pobrać dane utworzyliśmy kursor o nazwie q_students za pomocą: declare q_students cursor for i zasililiśmy danymi poprzez zapytanie:
select name, surname, phone from students
W następnym kroku przy pomocy pętli FOREACH przypisywaliśmy w kolejnych przebiegach wartości: name, surname, phone do utworzonych zmiennych: x_name, x_surname, x_phone i wyświetlaliśmy.
Pozostało już tylko zamknięcie pętli poprzez: end foreach i zakończenie programu: end main.
Wynik programu zaprezentowałem poniżej:
John True 500 100 200 David False 600 123 456 Joseph New 700 300 300