BD-1st-2.4-lab12.tresc-1.1-Slajd16

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Klauzula WHERE CURRENT OF (1)

Klauzula WHERE CURRENT OF (1)


Przejdziemy teraz do omówienia konstrukcji, umożliwiających modyfikację i usuwanie rekordów z użyciem kursora.

Jak już wcześniej wspomniano, jeśli w deklaracji kursora umieszczono klauzulę FOR UPDATE, rekordy, odczytane z bazy danych przez kursor, zostają zablokowane i przygotowane do ewentualnej modyfikacji czy też usunięcia. Jeśli bieżący rekord kursora ma zostać zmodyfikowany, wówczas operację tą realizuje się, używając standardowego polecenia UPDATE, skierowanego do relacji, z której kursor odczytał rekord. Selekcję w relacji rekordu, który zostanie zmodyfikowany (musi to być bieżący rekord kursora), zapewnia użycie klauzuli WHERE CURRENT OF <nazwa kursora>. Analogicznie wygląda sytuacja, gdy chcemy usunąć z relacji rekord, będący bieżącym rekordem kursora. Stosujemy wówczas polecenie DELETE z klauzulą WHERE CURRENT OF <nazwa kursora>.


<< Poprzedni slajd | Spis treści | Następny slajd >>