See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 12902|Vastuse: 1

[Allikas] Oraakli normaalkursorid, implitsiitsed kursorid ja parameetriseeritud kursorid

[Kopeeri link]
Postitatud 19.03.2015 10:53:06 | | |
vali * stuinfost;
--Varjatud kursor
Alusta
    dbms_output.put_line('Enne päringut:'|| sql%rowcount);
    uuenda stuinfo komplekti stusex = 'naine';
    dbms_output.put_line('Pärast päringut:'|| sql%rowcount);
lõpp;

--eksplicitne kursor
--1. Tavaline
deklareeri
    kursor mycur1 on valitud * stuinfost; --defineeri kursorid
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
Alusta
    ava mycur1; --Ava kursor
    Loop
    --too mycur1 v_id,v_name,v_sex,v_bir; --Liiguta kursor alla, et panna lugemisväärtus muutujasse
    tooge Mycur1 v_row-sse; --Loe kursor
    väljuda siis, kui mycur1%notfound;
    --dbms_output.put_line('id:'|| v_id||', nimi: '|| v_name||', sugu: '|| v_sex||' Sünnipäev: '|| v_bir); --Väljundtulemus
    dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sugu: '|| v_row.stusex||' Sünnipäev: '|| v_row.Stubir);
    lõpusilmus;
    sulge mycur1; --Lülita kursor välja
lõpp;

--2. Versifier parameetritega
deklareeri
    kursor mycur1 (v_sex stuinfo.stusex%type) valitakse * stuinfost, kus stusex = v_sex; --defineeri kursorid
    v_row stuinfo%rowtype;
Alusta
    avatud mycur1('&gender'); --Ava kursor
    Loop
    tooge Mycur1 v_row-sse; --Loe kursor
    väljuda siis, kui mycur1%notfound;
    dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sugu: '|| v_row.stusex||' Sünnipäev: '|| v_row.Stubir);
    lõpusilmus;
    sulge mycur1; --Lülita kursor välja
lõpp;

--3. Ringikujuline kursor
deklareeri
    kursor mycur1 on valitud * stuinfost; --defineeri kursorid
Alusta
    v_row jaoks Mycur1-s
    Loop
        dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sugu: '|| v_row.stusex||' Sünnipäev: '|| v_row.Stubir);
    lõpusilmus;
lõpp;

--4. Uuenda andmeid kursoriga
deklareeri
    kursor Mycur1 on valitud * stuinfo seast uuenduseks; --defineeri kursorid
Alusta
    v_row jaoks Mycur1-s
    Loop
        kui v_row.stuid = '003', siis
           kustuta stuinfost, kus on praegu mycur1;
        else
           uuenda stuinfo komplekt Stusex = 'mees', kus Mycur1 vool;
        lõpp kui;
    lõpusilmus;
lõpp;

vali * stuinfost;
uuenda stuinfo komplekt stusex = 'naine', kus stuid = '002';

--viitekursor
--1. Nõrk tüüp
deklareeri
    type curname on ref cursor; --määra kursoritüüp (curname on tüübi nimi)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
Alusta
    v_sex := '& sugu';
    kui v_sex = 'isane', siis
       ava mycur1, et valida * stuinfost, kus stusex = 'mees';
        Loop
        tooge Mycur1 v_row-sse; --Loe kursor
        väljuda siis, kui mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sugu: '|| v_row.stusex||' Sünnipäev: '|| v_row.Stubir);
        lõpusilmus;
    else
       ava mycur1, et valida * alaminfost;
       Loop
        too Mycur1 v_row2-sse; --Loe kursor
        väljuda siis, kui mycur1%notfound;
        lõpusilmus;
    lõpp kui;
    sulge mycur1; --Lülita kursor välja
lõpp;
vali * alaminfo hulgast;

--Tugev tüüp
deklareeri
    type curname on ref cursori tagastamine stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
Alusta
    v_sex := '& sugu';
    kui v_sex = 'isane', siis
       ava mycur1, et valida * stuinfost, kus stusex = 'mees';
    else
       ava mycur1, et valida * stuinfost, kus stusex = 'naine';
    lõpp kui;

    Loop
        tooge Mycur1 v_row-sse; --Loe kursor
        väljuda siis, kui mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sugu: '|| v_row.stusex||' Sünnipäev: '|| v_row.Stubir);
    lõpusilmus;
    sulge mycur1; --Lülita kursor välja
lõpp;







Eelmine:"Rikkus ja malemäng" – armastuse, töökoha ja magistriõppe sisseastumiseksami siseloo paljastamine
Järgmine:php5.2.17 peab paigaldamisel muutma cgi.force_redirect väärtuse 1 0-ks
Postitatud 19.03.2015 11:21:08 |
Pane kõrvale lesson6.rar (920 Bytes, Allalaadimiste arv: 0)
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com