Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12902|Svar: 1

[Källa] Orakelnormala markörer, implicita markörer och parameteriserade markörer

[Kopiera länk]
Publicerad på 2015-03-19 10:53:06 | | |
Välj * från StuInfo;
--Implicit markör
Börja
    dbms_output.put_line('Before-query:'|| sql%rowcount);
    uppdatera stuinfo-uppsättningen stusex = 'kvinna';
    dbms_output.put_line('Efter fråga:'|| sql%rowcount);
slut;

--explicit markör
--1. Gemensamt
Förklara
    Cursor MyCur1 är Select * från StuInfo; --definiera 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;
Börja
    öppna mycur1; --Öppen markör
    Loop
    --hämta mycur1 till v_id,v_name,v_sex,v_bir; --Flytta markören nedåt för att lägga in läsvärdet i variabeln
    hämta mycur1 till v_row; --Läsmarkör
    Avsluta när mycur1%intefound;
    --dbms_output.put_line('id:'|| v_id||', namn: '|| v_name||', kön: '|| v_sex||' Födelsedag: '|| v_bir); --Utgångsresultat
    dbms_output.put_line('id:'|| v_row.stuid||', namn: '|| v_row.stuname||', kön: '|| v_row.stusex||' Födelsedag: '|| v_row.stubir);
    slutslinga;
    stäng mycur1; --Stäng av markören
slut;

--2. Versifierare med parametrar
Förklara
    Cursor MyCur1(v_sex stuinfo.stusex%type) är välj * från stuinfo där stusex = v_sex; --definiera markörer
    v_row stuinfo%rowtype;
Börja
    öppna mycur1('&gender'); --Öppen markör
    Loop
    hämta mycur1 till v_row; --Läsmarkör
    Avsluta när mycur1%intefound;
    dbms_output.put_line('id:'|| v_row.stuid||', namn: '|| v_row.stuname||', kön: '|| v_row.stusex||' Födelsedag: '|| v_row.stubir);
    slutslinga;
    stäng mycur1; --Stäng av markören
slut;

--3. Cirkulär markör
Förklara
    Cursor MyCur1 är Select * från StuInfo; --definiera markörer
Börja
    för v_row i mycur1
    Loop
        dbms_output.put_line('id:'|| v_row.stuid||', namn: '|| v_row.stuname||', kön: '|| v_row.stusex||' Födelsedag: '|| v_row.stubir);
    slutslinga;
slut;

--4. Uppdatera datan med markören
Förklara
    Cursor MyCur1 är välj * från StuInfo för uppdatering; --definiera markörer
Börja
    för v_row i mycur1
    Loop
        Om v_row.stuid = '003' så
           ta bort från StuInfo där ström av MyCur1;
        annars
           uppdatering stuinfo set stusex = 'man' där nuvarande av mycur1;
        slut om;
    slutslinga;
slut;

Välj * från StuInfo;
Uppdatera Stuinfo set Stusex = 'kvinna' där Stum = '002';

--referensmarkör
--1. Svag typ
Förklara
    Typ Curname är ref cursor; --definiera en markörtyp (curname är typnamnet)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
Börja
    v_sex := '& gender';
    om v_sex = 'man' så
       öppna mycur1 för val * från stuinfo där stusex = 'man';
        Loop
        hämta mycur1 till v_row; --Läsmarkör
        Avsluta när mycur1%intefound;
        dbms_output.put_line('id:'|| v_row.stuid||', namn: '|| v_row.stuname||', kön: '|| v_row.stusex||' Födelsedag: '|| v_row.stubir);
        slutslinga;
    annars
       öppna mycur1 för att välja * från subinfo;
       Loop
        hämta mycur1 till v_row2; --Läsmarkör
        Avsluta när mycur1%intefound;
        slutslinga;
    slut om;
    stäng mycur1; --Stäng av markören
slut;
Välj * från subinfo;

--Stark typ
Förklara
    typ, curname är ref, cursor return, stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
Börja
    v_sex := '& gender';
    om v_sex = 'man' så
       öppna mycur1 för val * från stuinfo där stusex = 'man';
    annars
       öppna mycur1 för val * från stuinfo där stusex = 'kvinna';
    slut om;

    Loop
        hämta mycur1 till v_row; --Läsmarkör
        Avsluta när mycur1%intefound;
        dbms_output.put_line('id:'|| v_row.stuid||', namn: '|| v_row.stuname||', kön: '|| v_row.stusex||' Födelsedag: '|| v_row.stubir);
    slutslinga;
    stäng mycur1; --Stäng av markören
slut;







Föregående:"Rikedom och schackspel" – som avslöjar den inre historien om kärlek, arbetsplats och antagningsprov till forskarutbildningen
Nästa:php5.2.17 behöver ändra cgi.force_redirect-värdet från 1 till 0 vid installation
Publicerad på 2015-03-19 11:21:08 |
Lägg åt sidan lesson6.rar (920 Bytes, Antal nedladdningar: 0)
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com