BD-1st-2.4-lab12.tresc-1.1-Slajd17
Klauzula WHERE CURRENT OF (2)
Przykład na bieżącym slajdzie prezentuje użycie klauzuli WHERE CURRENT OF.
Sparametryzowany kursor cur_pracownicy został zadeklarowany z klauzulą FOR UPDATE. Dodatkowo zadeklarowano zmienną liczbową o nazwie v_podwyzka. W sekcji wykonywalnej programu umieszczono pętlę FOR z kursorem. Wewnątrz pętli dla bieżącego rekordu kursora sprawdzana jest wartość atrybutu ETAT. Jeśli jest to „PROFESOR”, wówczas do zmiennej v_podwyzka przypisywana jest wartość 1.2, w przeciwnym wypadku v_podwyzka jest równa 1.1. Następnie dokonujemy modyfikacji rekordu relacji PRACOWNICY, który jest bieżącym rekordem kursora, zwiększając wartość atrybutu PLACA_POD o procent określony w zmiennej v_podwyzka. Polecenie modyfikujące to standardowe polecenie UPDATE, klauzula WHERE CURRENT OF cur_pracownicy znajduje w relacji PRACOWNICY rekord, który jest bieżącym rekordem kursora cur_pracownicy.