Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 12902|Odpoveď: 1

[Zdroj] Orákulárne normálne kurzory, implicitné kurzory a parametrizované kurzory

[Kopírovať odkaz]
Zverejnené 19. 3. 2015 10:53:06 | | |
Vyberte * zo stuinfo;
--Implicitný kurzor
začať.
    dbms_output.put_line('Before-query:'|| sql%rowcount);
    Aktualizácia stuinfo nastavuje Stusex = 'žena';
    dbms_output.put_line('After query:'|| sql%rowcount);
koniec;

--explicitný kurzor
--1. Bežné
vyhlásiť
    kurzor mycur1 je select * z stuinfo; --definujte kurzory
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
začať.
    Otvor mycur1; --Otvoriť kurzor
    slučka
    --načítaj mycur1 do v_id,v_name,v_sex,v_bir; --Posuňte kurzor nadol, aby ste do premennej vložili čítanú hodnotu
    Načítaj mycur1 do v_row; --Čítaj kurzor
    odíď, keď mycur1%nenájdená;
    --dbms_output.put_line('id:'|| v_id||', meno: '|| v_name||', rod: '|| v_sex||' Narodeniny: '|| v_bir); --Výstupný výsledok
    dbms_output.put_line('id:'|| v_row.stuid||', meno: '|| v_row.stuname||', rod: '|| v_row.stusex||' Narodeniny: '|| v_row.stubir);
    koncová slučka;
    Zatvoriť mycur1; --Vypni kurzor
koniec;

--2. Versifikátor s parametrami
vyhlásiť
    kurzor mycur1(v_sex stuinfo.stusex%type) je select * zo stuinfo, kde stusex = v_sex; --definujte kurzory
    v_row stuinfo%rowtype;
začať.
    otvoriť mycur1('&gender'); --Otvoriť kurzor
    slučka
    Načítaj mycur1 do v_row; --Čítaj kurzor
    odíď, keď mycur1%nenájdená;
    dbms_output.put_line('id:'|| v_row.stuid||', meno: '|| v_row.stuname||', rod: '|| v_row.stusex||' Narodeniny: '|| v_row.stubir);
    koncová slučka;
    Zatvoriť mycur1; --Vypni kurzor
koniec;

--3. Kruhový kurzor
vyhlásiť
    kurzor mycur1 je select * z stuinfo; --definujte kurzory
začať.
    pre v_row v mycur1
    slučka
        dbms_output.put_line('id:'|| v_row.stuid||', meno: '|| v_row.stuname||', rod: '|| v_row.stusex||' Narodeniny: '|| v_row.stubir);
    koncová slučka;
koniec;

--4. Aktualizujte údaje kurzorom
vyhlásiť
    Kurzor mycur1 je select * zo stuinfo pre aktualizáciu; --definujte kurzory
začať.
    pre v_row v mycur1
    slučka
        ak v_row.stuid = '003' potom
           Delete from stuinfo where current of mycur1;
        else
           Aktualizácia stuinfo set stusex = 'muž', kde je aktuálny mycur1;
        koniec ak;
    koncová slučka;
koniec;

Vyberte * zo stuinfo;
aktualizácia stuinfo nastav stusex = 'žena', kde stuid = '002';

--referenčný kurzor
--1. Slabý typ
vyhlásiť
    typové meno je ref cursor; --definuj typ kurzora (curname je názov typu)
    mycur1 cur curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
začať.
    v_sex := '& rod';
    ak v_sex = 'muž', potom
       Otvorte mycur1 pre select * zo stuinfo, kde stusex = 'muž';
        slučka
        Načítaj mycur1 do v_row; --Čítaj kurzor
        odíď, keď mycur1%nenájdená;
        dbms_output.put_line('id:'|| v_row.stuid||', meno: '|| v_row.stuname||', rod: '|| v_row.stusex||' Narodeniny: '|| v_row.stubir);
        koncová slučka;
    else
       Otvorte mycur1 pre výber * zo subinfo;
       slučka
        Načítaj mycur1 do v_row2; --Čítaj kurzor
        odíď, keď mycur1%nenájdená;
        koncová slučka;
    koniec ak;
    Zatvoriť mycur1; --Vypni kurzor
koniec;
Vyberte * zo subinfo;

--Silný typ
vyhlásiť
    Typ curname je ref kurzor return stuinfo%rowtype;
    mycur1 cur curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
začať.
    v_sex := '& rod';
    ak v_sex = 'muž', potom
       Otvorte mycur1 pre select * zo stuinfo, kde stusex = 'muž';
    else
       Otvorte mycur1 pre select * zo stuinfo, kde stusex = 'žena';
    koniec ak;

    slučka
        Načítaj mycur1 do v_row; --Čítaj kurzor
        odíď, keď mycur1%nenájdená;
        dbms_output.put_line('id:'|| v_row.stuid||', meno: '|| v_row.stuname||', rod: '|| v_row.stusex||' Narodeniny: '|| v_row.stubir);
    koncová slučka;
    Zatvoriť mycur1; --Vypni kurzor
koniec;







Predchádzajúci:"Bohatstvo a šachová hra" – odhaľuje vnútorný príbeh lásky, práce a prijímacích skúšok na postgraduálne štúdium
Budúci:php5.2.17 musí pri inštalácii zmeniť hodnotu cgi.force_redirect z 1 na 0
Zverejnené 19. 3. 2015 11:21:08 |
Odložte si lesson6.rar (920 Bytes, Počet stiahnutí: 0)
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com