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;
|