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