Zadeklaruj typ rekordowy, a następnie zmienną tego typu, mogącą przechować informacje o imieniu, nazwisku i mieście studenta. Korzystając z zadeklarowanej zmiennej pobierz informacje o studencie o identyfikatorze `0000050' (przy pomocy kursora jawnego i poleceń open i fetch) a następnie wyświetl je na ekranie. Zwróć uwagę na kolejność pól w zapytaniu SQL-owym, czy PL-SQL dopuszcza w tej kwestii dowolność? Uwzględnić przypadek, w którym nie ma studenta o podanym identyfikatorze.
Wymiana danych między zmiennymi typu rekordowego. Zadeklaruj dwa typy rekordowe o polach i strukturze zgodnej z imieniem i nazwiskiem studenta. Następnie zadeklaruj dwie zmienne typu rekordowego, po jednej dla każdego z typów. Użyj definicji kursora jawnego, a następnie pętli kursora do pobrania danych o imieniu i nazwisku studenta. Przypisz zawartość kursora do wybranej zmiennej zadeklarowanego typu rekordowego. Następnie dokonaj próby przypisania zawartości wybranej zmiennej do zmiennej drugiego typu. Zawartość zmiennych oraz kursora wyświetl na ekranie.
Utwórz program pozwalający na wyświetlenie informacji o imieniu i nazwisku studenta, którego identyfikator jest podawany jako wartość domyślna zmiennej w sekcji deklaracji. W sekcji obsługi błędów uwzględnij przypadek nie znalezienia żadnego studenta o podanym ID.
Praca z typem rekordowym. Zadeklaruj zmienną rekordową o typie zgodnym ze strukturą tabeli studenci oraz zmienną rekordową o typie zgodnym z tabelą egzaminatorzy. Następnie przypisz poprzez zapytanie select, do zadeklarowanych zmiennych, zawartość tabeli studenci dla studenta o identyfikatorze `0000050' oraz zawartość tabeli egzaminatorzy, dla egzaminatora o nazwisku `Muryjas'. Co się stanie jeżeli zmienisz kryterium wyboru egzaminatora na nazwisko `Miłosz'?
Zadeklaruj blok PL/SQL zwracający za pomocą kursora dane z tabeli przedmioty. Wynik przekieruj do listy zmiennych zgodnych z strukturą tabeli przedmioty, oraz do zmiennej rekordowej typu opartego o zadeklarowany kursor. Czy liczba i kolejność zmiennych w których ma być przechowywana zawartość kursora jest dowolna (niezależna od struktury kursora)?
Napisz program obrazujący różnicę sytuacji kiedy wystąpi wyjątek NO_DATA_FOUND a przyjęciem przez parametr SQL%NOTFOUND wartości prawda: