Informix-4gl INTO – jak pobrać dane z bazy danych Informix SQL

W języku Informix-4gl możemy pobrać dane z bazy danych Informix-SQL na kilka sposobów. W kliku artykułach przedstawię trzy z nich. Wybór metody zależy od: skomplikowania zapytania SQL (Informix-4gl nie obsługuje wszystkich funkcji SQL, które z kolei obsługuje Informix SQL) oraz od tego w jaki sposób będziemy przetwarzać wyniki zapytania.

Przejdźmy do metody pierwszej oraz przykładu.

W bazie danych: school stworzyłem poniższą tabelę o nazwie: students.

Z tabeli students chcemy wyciągnąć tylko jedną wartość – numer telefonu phone studenta o id równym 1, a następnie ją wyświetlić. Kod programu wyglądać będzie następująco:

database school

main

define 
x_phone char(15),
x_name char(50)

select phone INTO x_phone from students where id=1
display "Numer telefonu studenta o ID=1 to: ", x_phone clipped

end main

W powyższym przykładzie wykorzystaliśmy INTO w celu przypisania zwróconej wartości do zmiennej x_phone. Program po wykonaniu zwróci komunikat: “Numer telefonu studenta o ID=1”.

Wydawać by się mogło, że w ten sposób moglibyśmy pobrać razem z numerem telefonu imię studenta i przypisać do zmiennej x_name podmieniając w powyższym kodzie zapytanie SQL na poniższy i dodając zmienną do display.

select phone INTO x_phone, name INTO x_name from students where id=1

Niestety ta metoda nie zadziała i kompilator 4gl zwróci błąd.
Stosując konstrukcje jak w przykładzie możemy w ten sposób przypisać tylko jedną zmienną poprzez INTO.

W jaki sposób zwrócić więcej wartości zmiennych i wykonywać bardziej skomplikowane zapytania SQL w Informix-4gl przedstawię w następnych przykładach z programowania w 4gl.