Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 12902|Svare: 1

[Kilde] Oracle-normalmarkører, implisitte markører og parameteriserte markører

[Kopier lenke]
Publisert på 19.03.2015 10:53:06 | | |
velg * fra stuinfo;
--Implisitt markør
Begynn
    dbms_output.put_line('Before-query:'|| sql%rowcount);
    Oppdatering Stuinfo sett Stusex = 'kvinnelig';
    dbms_output.put_line('After query:'|| sql%rowcount);
slutt;

--eksplisitt markør
--1. Felles
Erklær
    Cursor MyCur1 er velg * fra StuInfo; --definer markører
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
Begynn
    åpne mycur1; --Åpen markør
    Loop
    --hent mycur1 til v_id, v_name, v_sex, v_bir; --Flytt markøren ned for å legge inn leseverdien i variabelen
    hent mycur1 til v_row; --Lesemarkør
    avslutt når mycur1%notfound;
    --dbms_output.put_line('id:'|| v_id||', navn: '|| v_name||', kjønn: '|| v_sex||' Bursdag: '|| v_bir); --Utgangsresultat
    dbms_output.put_line('id:'|| v_row.stuid||', navn: '|| v_row.stuname||', kjønn: '|| v_row.stusex||' Bursdag: '|| v_row.stubir);
    endeløkke;
    lukk mycur1; --Slå av markøren
slutt;

--2. Versifikator med parametere
Erklær
    Markør mycur1(v_sex stuinfo.stusex%type) er velg * fra stuinfo hvor stusex = v_sex; --definer markører
    v_row stuinfo%rowtype;
Begynn
    åpne mycur1('&gender'); --Åpen markør
    Loop
    hent mycur1 til v_row; --Lesemarkør
    avslutt når mycur1%notfound;
    dbms_output.put_line('id:'|| v_row.stuid||', navn: '|| v_row.stuname||', kjønn: '|| v_row.stusex||' Bursdag: '|| v_row.stubir);
    endeløkke;
    lukk mycur1; --Slå av markøren
slutt;

--3. Sirkulær markør
Erklær
    Cursor MyCur1 er velg * fra StuInfo; --definer markører
Begynn
    For v_row i MyCur1
    Loop
        dbms_output.put_line('id:'|| v_row.stuid||', navn: '|| v_row.stuname||', kjønn: '|| v_row.stusex||' Bursdag: '|| v_row.stubir);
    endeløkke;
slutt;

--4. Oppdater dataene med markøren
Erklær
    Cursor MyCur1 er velg * fra StuINFO for oppdatering; --definer markører
Begynn
    For v_row i MyCur1
    Loop
        hvis v_row.stuid = '003', så
           Slett fra StuInfo hvor strøm av MyCur1;
        ellers
           Oppdatering StuInfo sett Stusex = 'mann' hvor strøm av MyCur1;
        slutt hvis;
    endeløkke;
slutt;

velg * fra stuinfo;
Oppdatering Stuinfo sett Stusex = 'kvinnelig' hvor Stum = '002';

--referansemarkør
--1. Svak type
Erklær
    Type Curname er ref-markør; --definer en markørtype (curname er typenavnet)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
Begynn
    v_sex := 'og kjønn';
    hvis v_sex = 'mann', så
       Åpne MyCur1 for Select * fra StuInfo hvor Stusex = 'mann';
        Loop
        hent mycur1 til v_row; --Lesemarkør
        avslutt når mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', navn: '|| v_row.stuname||', kjønn: '|| v_row.stusex||' Bursdag: '|| v_row.stubir);
        endeløkke;
    ellers
       Åpne MyCur1 for velg * fra subinfo;
       Loop
        hent mycur1 til v_row2; --Lesemarkør
        avslutt når mycur1%notfound;
        endeløkke;
    slutt hvis;
    lukk mycur1; --Slå av markøren
slutt;
velg * fra subinfo;

--Sterk type
Erklær
    type curname er ref cursor return stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
Begynn
    v_sex := 'og kjønn';
    hvis v_sex = 'mann', så
       Åpne MyCur1 for Select * fra StuInfo hvor Stusex = 'mann';
    ellers
       åpne mycur1 for valg * fra stuinfo hvor stusex = 'kvinne';
    slutt hvis;

    Loop
        hent mycur1 til v_row; --Lesemarkør
        avslutt når mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', navn: '|| v_row.stuname||', kjønn: '|| v_row.stusex||' Bursdag: '|| v_row.stubir);
    endeløkke;
    lukk mycur1; --Slå av markøren
slutt;







Foregående:"Rikdom og sjakkspill" – som avslører den indre historien om kjærlighet, arbeidsplass og opptaksprøve til mastergrad
Neste:php5.2.17 må endre cgi.force_redirect-verdien fra 1 til 0 ved installasjon
Publisert på 19.03.2015 11:21:08 |
Sett til side lesson6.rar (920 Bytes, Antall nedlastinger: 0)
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com