Wählen Sie * aus Stuinfo; --Impliziter Cursor Beginnen dbms_output.put_line('Before-query:'|| sql%rowcount); Update Stuinfo Set Stusex = 'weiblich'; dbms_output.put_line('After query:'|| sql%rowcount); Ende;
--expliziter Cursor --1. Gemeine Erklären Cursor MyCur1 ist Select * von Stuinfo; --Cursor definieren --v_id stuinfo.stuid%type; --v_name stuinfo.stuname%type; --v_sex stuinfo.stusex%type; --v_bir stuinfo.stubir%type; v_row stuinfo%rowtype; Beginnen mycur1 öffnen; --Offener Cursor Schleife --bring mycur1 in v_id,v_name,v_sex,v_bir; --Schiebe den Cursor nach unten, um den Lesewert in die Variable einzufügen MyCur1 in v_row holen; --Lesecursor Verlassen, wenn mycur1%notfound; --dbms_output.put_line('id:'|| v_id||', Name: '|| v_name||', Geschlecht: '|| v_sex||' Geburtstag: '|| v_bir); --Ausgabeergebnis dbms_output.put_line('id:'|| v_row.stuid||', Name: '|| v_row.stuname||', Geschlecht: '|| v_row.stusex||' Geburtstag: '|| v_row.stubir); Endschleife; mycur1 schließen; --Schalte den Cursor aus Ende;
--2. Versifier mit Parametern Erklären Cursor mycur1(v_sex stuinfo.stusex%type) wird * aus stuinfo auswählen, wobei stusex = v_sex; --Cursor definieren v_row stuinfo%rowtype; Beginnen öffne mycur1('&gender'); --Offener Cursor Schleife MyCur1 in v_row holen; --Lesecursor Verlassen, wenn mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', Name: '|| v_row.stuname||', Geschlecht: '|| v_row.stusex||' Geburtstag: '|| v_row.stubir); Endschleife; mycur1 schließen; --Schalte den Cursor aus Ende;
--3. Kreiscursor Erklären Cursor MyCur1 ist Select * von Stuinfo; --Cursor definieren Beginnen für v_row in mycur1 Schleife dbms_output.put_line('id:'|| v_row.stuid||', Name: '|| v_row.stuname||', Geschlecht: '|| v_row.stusex||' Geburtstag: '|| v_row.stubir); Endschleife; Ende;
--4. Aktualisieren Sie die Daten mit dem Cursor Erklären Cursor MyCur1 wird von StuINFO für ein Update ausgewählt; --Cursor definieren Beginnen für v_row in mycur1 Schleife wenn v_row.stuid = '003', dann Löschen von StuInfo, wo aktuell von MyCur1; oder Aktualisierung stuInfo Satz Stusex = 'männlich', wo aktuell MyCur1 ist; Ende wenn; Endschleife; Ende;
Wählen Sie * aus Stuinfo; Aktualisieren Stuinfo: Stusex = 'weiblich', wobei stuid = '002';
--Referenzcursor --1. Schwacher Typ Erklären Typ Curname ist Ref Cursor; --definiere einen Cursortyp (curname ist der Typname) mycur1 curname; -- v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; v_row2 subinfo%rowtype; Beginnen v_sex := '& gender'; wenn v_sex = 'männlich', dann Öffne MyCur1 zur Auswahl * bei Stuinfo, wo Stusex = 'männlich'; Schleife MyCur1 in v_row holen; --Lesecursor Verlassen, wenn mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', Name: '|| v_row.stuname||', Geschlecht: '|| v_row.stusex||' Geburtstag: '|| v_row.stubir); Endschleife; oder MyCur1 für Auswahl * aus Subinfo öffnen; Schleife MyCur1 in v_row2 holen; --Lesecursor Verlassen, wenn mycur1%notfound; Endschleife; Ende wenn; mycur1 schließen; --Schalte den Cursor aus Ende; Wählen Sie * aus Unterinfo;
--Starker Typ Erklären Typ: Curname ist ref Cursor return stuinfo%rowtype; mycur1 curname; v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; Beginnen v_sex := '& gender'; wenn v_sex = 'männlich', dann Öffne MyCur1 zur Auswahl * bei Stuinfo, wo Stusex = 'männlich'; oder Öffne MyCur1 zur Auswahl * bei Stuinfo, wo Stusex = 'weiblich'; Ende wenn;
Schleife MyCur1 in v_row holen; --Lesecursor Verlassen, wenn mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', Name: '|| v_row.stuname||', Geschlecht: '|| v_row.stusex||' Geburtstag: '|| v_row.stubir); Endschleife; mycur1 schließen; --Schalte den Cursor aus Ende;
|