Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 12902|Atbildi: 1

[Avots] Oracle parastie kursori, netiešie kursori un parametrizētie kursori

[Kopēt saiti]
Publicēts 19.03.2015 10:53:06 | | |
izvēlieties * no stuinfo;
--Netiešais kursors
Sākt
    dbms_output.put_line('Pirms vaicājuma:'|| sql%rowcount);
    atjaunināt stuinfo kopu stusex = 'sieviete';
    dbms_output.put_line('Pēc vaicājuma:'|| sql%rowcount);
beigas;

--skaidrs kursors
--1. Bieži
paziņot
    kursors mycur1 ir atlasīts * no stuinfo; --definēt kursorus
    --v_id stuinfo.stuid%tips;
    --v_name stuinfo.stuname%tips;
    --v_sex stuinfo.stusex%tips;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
Sākt
    atveriet mycur1; --Atvērt kursoru
    cilpa
    --atnest mycur1 uz v_id,v_name,v_sex,v_bir; --Pārvietojiet kursoru uz leju, lai ievietotu nolasāmo vērtību mainīgajā
    iegūt mycur1 v_row; --Lasīt kursoru
    iziet, kad mycur1%notfound;
    --dbms_output.put_line('id:'|| v_id||', nosaukums: '|| v_name||', dzimums: '|| v_sex||' Dzimšanas diena: "|| v_bir); --Izejas rezultāts
    dbms_output.put_line('id:'|| v_row.stuid||', nosaukums: '|| v_row.stuname||', dzimums: '|| v_row.stusex||' Dzimšanas diena: "|| v_row.stubir);
    beigu cilpa;
    aizvērt mycur1; --Izslēdziet kursoru
beigas;

--2. Versificētājs ar parametriem
paziņot
    kursors mycur1(v_sex stuinfo.stusex%type) ir atlasīts * no stuinfo, kur stusex = v_sex; --definēt kursorus
    v_row stuinfo%rowtype;
Sākt
    atveriet mycur1('&dzimums'); --Atvērt kursoru
    cilpa
    iegūt mycur1 v_row; --Lasīt kursoru
    iziet, kad mycur1%notfound;
    dbms_output.put_line('id:'|| v_row.stuid||', nosaukums: '|| v_row.stuname||', dzimums: '|| v_row.stusex||' Dzimšanas diena: "|| v_row.stubir);
    beigu cilpa;
    aizvērt mycur1; --Izslēdziet kursoru
beigas;

--3. Apļveida kursors
paziņot
    kursors mycur1 ir atlasīts * no stuinfo; --definēt kursorus
Sākt
    v_row MyCur1
    cilpa
        dbms_output.put_line('id:'|| v_row.stuid||', nosaukums: '|| v_row.stuname||', dzimums: '|| v_row.stusex||' Dzimšanas diena: "|| v_row.stubir);
    beigu cilpa;
beigas;

--4. Atjauniniet datus ar kursoru
paziņot
    kursors mycur1 ir atlasīts * no stuinfo atjaunināšanai; --definēt kursorus
Sākt
    v_row MyCur1
    cilpa
        ja v_row.stuid = '003', tad
           dzēst no stuinfo, kur pašreizējais mycur1;
        citādi
           atjaunināt stuinfo set stusex = 'vīrietis', kur mycur1 strāva;
        beigas, ja;
    beigu cilpa;
beigas;

izvēlieties * no stuinfo;
atjaunināt stuinfo kopu stusex = 'sieviete', kur stuid = '002';

--atsauces kursors
--1. Vājš tips
paziņot
    tips curname ir ref kursors; --definēt kursora tipu (curname ir tipa nosaukums)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
Sākt
    v_sex := '& dzimums';
    ja v_sex = 'vīrietis', tad
       atveriet mycur1, lai atlasītu * no stuinfo, kur stusex = 'vīrietis';
        cilpa
        iegūt mycur1 v_row; --Lasīt kursoru
        iziet, kad mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nosaukums: '|| v_row.stuname||', dzimums: '|| v_row.stusex||' Dzimšanas diena: "|| v_row.stubir);
        beigu cilpa;
    citādi
       atveriet mycur1, lai atlasītu * no apakšinformācijas;
       cilpa
        paņemiet mycur1 v_row2; --Lasīt kursoru
        iziet, kad mycur1%notfound;
        beigu cilpa;
    beigas, ja;
    aizvērt mycur1; --Izslēdziet kursoru
beigas;
izvēlieties * no apakšinformācijas;

--Spēcīgs tips
paziņot
    tips curname ir ref cursor return stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
Sākt
    v_sex := '& dzimums';
    ja v_sex = 'vīrietis', tad
       atveriet mycur1, lai atlasītu * no stuinfo, kur stusex = 'vīrietis';
    citādi
       atveriet mycur1 atlasīt * no stuinfo, kur stusex = 'sieviete';
    beigas, ja;

    cilpa
        iegūt mycur1 v_row; --Lasīt kursoru
        iziet, kad mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nosaukums: '|| v_row.stuname||', dzimums: '|| v_row.stusex||' Dzimšanas diena: "|| v_row.stubir);
    beigu cilpa;
    aizvērt mycur1; --Izslēdziet kursoru
beigas;







Iepriekšējo:"Bagātības un šaha spēle" - atklājot iekšējo stāstu par mīlestību, darba vietu un pēcdiploma iestājeksāmenu
Nākamo:php5.2.17 instalēšanas laikā ir jāmaina cgi.force_redirect vērtība no 1 līdz 0
Publicēts 19.03.2015 11:21:08 |
Atstāt malā lesson6.rar (920 Bytes, Lejupielādes skaits: 0)
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com