selectează * din stuinfo; --Cursor implicit Încep dbms_output.put_line('Înainte-interogare:'|| sql%rowcount); Actualizare setul StuInfo Stusex = 'feminin'; dbms_output.put_line('După interogare:'|| sql%rowcount); sfârșit;
--cursor explicit --1. Comun declară cursorul mycur1 este select * din stuinfo; --definesc cursorii --v_id stuinfo.stuid%type; --v_name stuinfo.stuname%type; --v_sex stuinfo.stusex%type; --v_bir stuinfo.stubir%type; v_row stuinfo%rowtype; Încep deschide mycur1; --Deschide cursorul Buclă --preia mycur1 în v_id,v_name,v_sex,v_bir; --Mutați cursorul în jos pentru a introduce valoarea de citire în variabilă preia mycur1 în v_row; --Citește cursorul ieși când mycur1%notfound; --dbms_output.put_line('id:'|| v_id||', nume: '|| v_name||', gen: '|| v_sex||' Ziua de naștere: '|| v_bir); --Rezultat de ieșire dbms_output.put_line('id:'|| v_row.stuid||', nume: '|| v_row.stuname||', gen: '|| v_row.stusex||' Ziua de naștere: '|| v_row.stubir); buclă de capăt; închide mycur1; --Oprește cursorul sfârșit;
--2. Versificator cu parametri declară cursorul mycur1(v_sex stuinfo.stusex%type) este select * din stuinfo unde stusex = v_sex; --definesc cursorii v_row stuinfo%rowtype; Încep deschide mycur1('&gen'); --Deschide cursorul Buclă preia mycur1 în v_row; --Citește cursorul ieși când mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nume: '|| v_row.stuname||', gen: '|| v_row.stusex||' Ziua de naștere: '|| v_row.stubir); buclă de capăt; închide mycur1; --Oprește cursorul sfârșit;
--3. Cursor circular declară cursorul mycur1 este select * din stuinfo; --definesc cursorii Încep pentru v_row în mycur1 Buclă dbms_output.put_line('id:'|| v_row.stuid||', nume: '|| v_row.stuname||', gen: '|| v_row.stusex||' Ziua de naștere: '|| v_row.stubir); buclă de capăt; sfârșit;
--4. Actualizează datele cu cursorul declară cursor mycur1 este select * din stuinfo pentru actualizare; --definesc cursorii Încep pentru v_row în mycur1 Buclă dacă v_row.stuid = '003' atunci șterge de pe stuinfo unde este actuală mycur1; altfel Actualizează setul StuInfo Stusex = 'Masculin' unde este curent MyCur1; sfârșit dacă; buclă de capăt; sfârșit;
selectează * din stuinfo; actualizare setul stuinfo stusex = 'feminin' unde stuid = '002';
--cursor de referință --1. Tip slab declară Tipul Curname este cursorul de referință; --definiți un tip de cursor (curname-ul este numele tipului) mycur1 curname; -- v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; v_row2 subinfo%rowtype; Încep v_sex := '& gen'; dacă v_sex = "masculin" atunci Deschide MyCur1 pentru Select * din StuInfo unde Stusex = 'Masculin'; Buclă preia mycur1 în v_row; --Citește cursorul ieși când mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nume: '|| v_row.stuname||', gen: '|| v_row.stusex||' Ziua de naștere: '|| v_row.stubir); buclă de capăt; altfel deschide mycur1 pentru selectare * din subinfo; Buclă preia mycur1 în v_row2; --Citește cursorul ieși când mycur1%notfound; buclă de capăt; sfârșit dacă; închide mycur1; --Oprește cursorul sfârșit; selectează * din subinfo;
--Tip puternic declară tip curname is ref cursor return stuinfo%rowtype; mycur1 curname; v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; Încep v_sex := '& gen'; dacă v_sex = "masculin" atunci Deschide MyCur1 pentru Select * din StuInfo unde Stusex = 'Masculin'; altfel Deschide MyCur1 pentru Select * din StuInfo unde Stusex = 'Feminin'; sfârșit dacă;
Buclă preia mycur1 în v_row; --Citește cursorul ieși când mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nume: '|| v_row.stuname||', gen: '|| v_row.stusex||' Ziua de naștere: '|| v_row.stubir); buclă de capăt; închide mycur1; --Oprește cursorul sfârșit;
|