Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12902|Odpowiedź: 1

[Źródło] Kursory normalne wyroczni, kursory niejawne i kursory parametryzowane

[Skopiuj link]
Opublikowano 19.03.2015 10:53:06 | | |
Wybierz * z stuinfo;
--Kursor niejawny
zaczynaj
    dbms_output.put_line('Before-query:'|| sql%rowcount);
    aktualizacja stuinfo – Stusex = 'kobieta';
    dbms_output.put_line('After query:'|| sql%rowcount);
koniec;

--kursor jawny
--1. Powszechne
deklaruj
    Kursor Mycur1 to select * z stuinfo; --definiuj kursory
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
zaczynaj
    otwórz mycur1; --Otwórz kursor
    pętla
    --pobierz mycur1 do v_id,v_name,v_sex,v_bir; --Przesuń kursor w dół, aby umieścić wartość odczytu w zmiennej
    pobierz mycur1 do v_row; --Czytaj kursor
    wyjdź, gdy mycur1%notfound;
    --dbms_output.put_line('id:'|| v_id||', imię: '|| v_name||', płeć: '|| v_sex||' Urodziny: '|| v_bir); --Wynik wyjściowy
    dbms_output.put_line('id:'|| v_row.stuid||', imię: '|| v_row.stuname||', płeć: '|| v_row.stusex||' Urodziny: '|| v_row.stubir);
    pętla końcowa;
    Close mycur1; --Wyłącz kursor
koniec;

--2. Wersyfikator z parametrami
deklaruj
    Kursor Mycur1(v_sex stuinfo.stusex%type) jest select * ze stuinfo, gdzie stusex = v_sex; --definiuj kursory
    v_row stuinfo%rowtype;
zaczynaj
    otwórz mycur1('&gender'); --Otwórz kursor
    pętla
    pobierz mycur1 do v_row; --Czytaj kursor
    wyjdź, gdy mycur1%notfound;
    dbms_output.put_line('id:'|| v_row.stuid||', imię: '|| v_row.stuname||', płeć: '|| v_row.stusex||' Urodziny: '|| v_row.stubir);
    pętla końcowa;
    Close mycur1; --Wyłącz kursor
koniec;

--3. Kursor kołowy
deklaruj
    Kursor Mycur1 to select * z stuinfo; --definiuj kursory
zaczynaj
    dla v_row w mycur1
    pętla
        dbms_output.put_line('id:'|| v_row.stuid||', imię: '|| v_row.stuname||', płeć: '|| v_row.stusex||' Urodziny: '|| v_row.stubir);
    pętla końcowa;
koniec;

--4. Zaktualizuj dane kursorem
deklaruj
    Kursor Mycur1 to select * from stuinfo dla aktualizacji; --definiuj kursory
zaczynaj
    dla v_row w mycur1
    pętla
        jeśli v_row.stuid = '003' to
           usuń ze stuinfo gdzie aktualny Mycur1;
        else
           aktualizacja stuinfo ustaw stusex = 'męskie', gdzie obecny w mycur1;
        zakończ jeśli;
    pętla końcowa;
koniec;

Wybierz * z stuinfo;
aktualizacja stuinfo ustaw stusex = 'kobieta', gdzie stuid = '002';

--kursor odniesienia
--1. Słaby typ
deklaruj
    typowa nazwa curname to ref cursor; --zdefiniuj typ kursora (curname to nazwa typu)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
zaczynaj
    v_sex := '& gender';
    jeśli v_sex = 'mężczyzna', to
       Otwórz mycur1 dla select * ze stuinfo, gdzie stusex = 'mężczyzna';
        pętla
        pobierz mycur1 do v_row; --Czytaj kursor
        wyjdź, gdy mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', imię: '|| v_row.stuname||', płeć: '|| v_row.stusex||' Urodziny: '|| v_row.stubir);
        pętla końcowa;
    else
       otwórz mycur1, aby wybrać * z subinfo;
       pętla
        pobierz mycur1 do v_row2; --Czytaj kursor
        wyjdź, gdy mycur1%notfound;
        pętla końcowa;
    zakończ jeśli;
    Close mycur1; --Wyłącz kursor
koniec;
Wybierz * z subinfo;

--Mocne pismo
deklaruj
    typowa nazwa curname to ref kursor return stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
zaczynaj
    v_sex := '& gender';
    jeśli v_sex = 'mężczyzna', to
       Otwórz mycur1 dla select * ze stuinfo, gdzie stusex = 'mężczyzna';
    else
       Otwórz mycur1 dla select * ze stuinfo, gdzie stusex = 'kobieta';
    zakończ jeśli;

    pętla
        pobierz mycur1 do v_row; --Czytaj kursor
        wyjdź, gdy mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', imię: '|| v_row.stuname||', płeć: '|| v_row.stusex||' Urodziny: '|| v_row.stubir);
    pętla końcowa;
    Close mycur1; --Wyłącz kursor
koniec;







Poprzedni:"Bogactwo i gra w szachy" – ujawniająca kulisy miłości, pracy i egzaminu wstępnego na studia magisterskie
Następny:php5.2.17 musi zmienić wartość cgi.force_redirect z 1 na 0 podczas instalacji
Opublikowano 19.03.2015 11:21:08 |
Odłóż na bok lesson6.rar (920 Bytes, Liczba pobranych plików: 0)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com