Zmienne kursorowe
Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200
Zmienne kursorowe zachowujmą sie jak zwykłe kursory, z tym że jemu dymicznie przypisujemy zapytanie. Oznacza to, że w przypadku zwykłego kursora zapytanie mu przypisane jest statyczne. W przypadku zmeinnej kursorowej zapytanei jest generowane dynamicznie, a to oznacza, że temu kursorowi możemy przypisać dowolne zapytanie zaleznie od okoliczności. Tworzenie zmiennej kursorowej przebiega w dwóch etapach. W pierwszej fazie musimy zdefiniować specjalny typ kursorowy wg. poniższej składni:
TYPE nazwa_typu IS REF CURSOR [ RETURN zwracany_typ];
gdzie:
- zwracany_typtyp rekordowy zwracany przez kursor
Następnie deklarujemy zmienną o typie zdefiniowanym wcześniej. Skłądnia pozwalająca otworzyć kursor ma postać:
OPEN nazwa_zmiennej_kursorowej FOR zapytanie_SQL;
Przykłady wykorzystania zmiennych kursorowych
DECLARE TYPE CurTYPE IS REF CURSOR RETURN emp%ROWTYPE; Cur CurTYPE; ... BEGIN OPEN Cur FOR select name from emp; LOOP FETCH Cur INTO rec; EXIT WHEN Cur%NOTFOUND; ... END LOOP; DECLARE TYPE CurTYPE IS REF CURSOR RETURN tab%ROWTYPE; TYPE NameList IS TABLE OF tab%TYPE; Cur CurTYPE; Names NameList; BEGIN OPEN Cur FOR select name from tab; FETCH Cur BULK COLLECT INTO Names; ... END; powrót
Komentarze
uluxage
<a href="https://kamagra-viagra.ar-go.pl/">kamagra</a>
uluxage 2021-09-15 17:17:54
Dodaj Komentarz
Newsletter
Jeżeli chcesz być na bieżąco informowany o aktualnościach i poradach IT zapisz się do naszego newslettera.