Przykład 9 - wykorzystanie interfejsu nawigacyjnego
osoba_ref *os_ref_p, osoba *os_p;
//alokacja przestrzeni bufora dla referencji
EXEC SQL ALLOCATE :os_ref_p;
//pobranie referencji z bazy danych
EXEC SQL SELECT ref(p) INTO :os_ref_p from osoby p where p.nazwisko='Kowalski';
//pobranie obiektu z bazy danych na podstawie referencji
EXEC SQL OBJECT DEREF :per_ref_p INTO :person_p;
//zmiana wartości obiektu w buforze
EXEC SQL OBJECT SET nazwisko OF :os_p TO :nowe_nazwisko;
EXEC SQL OBJECT UPDATE :person_p;
EXEC SQL FREE :per_ref_p;
EXEC SQL OBJECT FLUSH :person_p;
//zwolenie przestrzeni w buforze
EXEC SQL OBJECT RELEASE :person_p;