Przykład 7 - Dynamiczny SQL ANSI (cd)
//Alokacje deskryptora parametrów wyjsciowych
EXEC SQL ALLOCATE DESCRIPTOR 'out' ;
//Przygotowanie polecenia do wykonania
EXEC SQL PREPARE s FROM :zespoly;
EXEC SQL DECLARE c CURSOR FOR s ;
//Pobranie opisów parametrów wyjsciowych z deskryptora
EXEC SQL DESCRIBE OUTPUT s USING DESCRIPTOR 'out' ;
//Pobranie z deskryptora out liczby kolumn
EXEC SQL GET DESCRIPTOR 'out' :ile_kolumn = COUNT ;
//Pobranie z deskryptora nazw i typów kolumn
for (i = 0; i<ile_kolumn;i++) {
EXEC SQL GET DESCRIPTOR 'out' VALUE :nr_kolumny :nazwa_kolumny = NAME,
printf("%s(%i)\t",nazwa_kolumny,typ_kolumny);
//ustawienie typu CHAR dla każdej kolumny
EXEC SQL SET DESCRIPTOR 'out' VALUE :nr_kolumny TYPE = :typ;