valitse * stuinfosta; --Implisiittinen kursori Aloita dbms_output.put_line('Ennen kysely:'|| sql%rowcount); päivitä stuinfo-setti stusex = 'nainen'; dbms_output.put_line('Kyselyn jälkeen:'|| sql%rowcount); loppu;
--eksplisiittinen kursori --1. Yleinen julistaa Kursori mycur1 on valittu * stuinfosta; --määrittele kurssorit --v_id stuinfo.stuid%type; --v_name stuinfo.stuname%type; --v_sex stuinfo.stusex%type; --v_bir stuinfo.stubir%type; v_row stuinfo%rowtype; Aloita avaa mycur1; --Avaa kursori Lenkki --hae mycur1 v_id,v_name,v_sex,v_bir; --Siirrä kursori alas, jotta lukuarvo tulee muuttujaan Hae mycur1 v_row:iin; --Lue kursori poistua, kun mycur1%notfound; --dbms_output.put_line('id:'|| v_id||', nimi: '|| v_name||', sukupuoli: '|| v_sex||' Syntymäpäivä: '|| v_bir); --Tulos dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sukupuoli: '|| v_row.stusex||' Syntymäpäivä: '|| v_row.stubir); loppusilmuka; sulje mycur1; --Sammuta kursori loppu;
--2. Versifioija parametreilla julistaa kursori mycur1(v_sex stuinfo.stusex%type) on valittu * stuinfosta, missä stusex = v_sex; --määrittele kurssorit v_row stuinfo%rowtype; Aloita avaa mycur1('&gender'); --Avaa kursori Lenkki Hae mycur1 v_row:iin; --Lue kursori poistua, kun mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sukupuoli: '|| v_row.stusex||' Syntymäpäivä: '|| v_row.stubir); loppusilmuka; sulje mycur1; --Sammuta kursori loppu;
--3. Pyöreä kursori julistaa Kursori mycur1 on valittu * stuinfosta; --määrittele kurssorit Aloita v_row mycur1:ssä Lenkki dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sukupuoli: '|| v_row.stusex||' Syntymäpäivä: '|| v_row.stubir); loppusilmuka; loppu;
--4. Päivitä tiedot osoittimella julistaa Kursori mycur1 on valittu * stuinfosta päivitystä varten; --määrittele kurssorit Aloita v_row mycur1:ssä Lenkki jos v_row.stuid = '003', niin poista stuinfosta, missä mycur1:n nykyinen yhteys; else päivitys stuinfo-setti Stusex = 'mies', missä mycur1:n virta; päättyy jos; loppusilmuka; loppu;
valitse * stuinfosta; päivitä stuinfo-setti Stusex = 'nainen', missä stuid = '002';
--viitekursori --1. Heikko tyyppi julistaa type curname on ref cursor; --määrittele kursorityyppi (cursorname on tyypin nimi) mycur1 curname; -- v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; v_row2 subinfo%rowtype; Aloita v_sex := '& sukupuoli'; jos v_sex = 'uros', niin avaa mycur1 valitaksesi * stuinfosta, missä stusex = 'mies'; Lenkki Hae mycur1 v_row:iin; --Lue kursori poistua, kun mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sukupuoli: '|| v_row.stusex||' Syntymäpäivä: '|| v_row.stubir); loppusilmuka; else Avaa mycur1 valitaksesi * subinfosta; Lenkki hae mycur1 v_row2; --Lue kursori poistua, kun mycur1%notfound; loppusilmuka; päättyy jos; sulje mycur1; --Sammuta kursori loppu; valitse * subinfosta;
--Vahva tyyppi julistaa type curname on ref kursor return stuinfo%rowtype; mycur1 curname; v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; Aloita v_sex := '& sukupuoli'; jos v_sex = 'uros', niin avaa mycur1 valitaksesi * stuinfosta, missä stusex = 'mies'; else avaa mycur1 valitaksesi * stuinfosta, missä stusex = 'nainen'; päättyy jos;
Lenkki Hae mycur1 v_row:iin; --Lue kursori poistua, kun mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nimi: '|| v_row.stuname||', sukupuoli: '|| v_row.stusex||' Syntymäpäivä: '|| v_row.stubir); loppusilmuka; sulje mycur1; --Sammuta kursori loppu;
|