Вибрати * з Stuinfo; --Неявний курсор Почніть dbms_output.put_line('Перед-запит:'|| sql%кількість рядків); Оновлення Stuinfo Set Stusex = «Жіночий»; dbms_output.put_line('Після запиту:'|| sql%кількість рядків); кінець;
--явний курсор --1. Звичайний оголошувати Курсор mycur1 select * зі stuinfo; --визначте курсори --v_id stuinfo.stuid%type; --v_name stuinfo.stuname%type; --v_sex stuinfo.stusex%type; --v_bir stuinfo.stubir%type; v_row stuinfo%rowtype; Почніть Відкрий mycur1; --Відкрий курсор Петля --передати mycur1 у v_id,v_name,v_sex,v_bir; --Опусти курсор, щоб ввести значення зчитування у змінну Візьми mycur1 у v_row; --Читати курсор вийти, коли mycur1%незнайдено; --dbms_output.put_line('id:'|| v_id||', ім'я: '|| v_name||', стать: '|| v_sex||' День народження: '|| v_bir); --Вихідний результат dbms_output.put_line('id:'|| v_row.stuid||', ім'я: '|| v_row.stuname||', род: '|| v_row.stusex||' День народження: '|| v_row.stubir); кінцевий контур; закрити mycur1; --Вимкни курсор кінець;
--2. Версифікатор з параметрами оголошувати Курсор mycur1(v_sex stuinfo.stusex%type) обирається * зі stuinfo, де stusex = v_sex; --визначте курсори v_row stuinfo%rowtype; Почніть відкрити mycur1('&gender'); --Відкрий курсор Петля Візьми mycur1 у v_row; --Читати курсор вийти, коли mycur1%незнайдено; dbms_output.put_line('id:'|| v_row.stuid||', ім'я: '|| v_row.stuname||', род: '|| v_row.stusex||' День народження: '|| v_row.stubir); кінцевий контур; закрити mycur1; --Вимкни курсор кінець;
--3. Круговий курсор оголошувати Курсор mycur1 select * зі stuinfo; --визначте курсори Почніть для v_row у mycur1 Петля dbms_output.put_line('id:'|| v_row.stuid||', ім'я: '|| v_row.stuname||', род: '|| v_row.stusex||' День народження: '|| v_row.stubir); кінцевий контур; кінець;
--4. Оновити дані курсором оголошувати курсор mycur1 select * зі stuinfo для оновлення; --визначте курсори Почніть для v_row у mycur1 Петля якщо v_row.stuid = '003', то Видалити зі stuinfo, де актуальний mycur1; інше оновлення stuinfo set stusex = 'чоловічий', де поточний mycur1; кінець якщо; кінцевий контур; кінець;
Вибрати * з Stuinfo; Оновлення: Stuinfo Set Stusex = 'Жінка', де stuid = '002';
--reference курсор --1. Слабкий тип оголошувати Тип curname — ref cursor; --визначити тип курсора (curname — це ім'я типу) mycur1 curname; -- v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; v_row2 subinfo%rowtype; Почніть v_sex := '& gender'; якщо v_sex = «чоловічий», то Відкрийте mycur1 для вибору * зі stuinfo, де stusex = 'чоловічий'; Петля Візьми mycur1 у v_row; --Читати курсор вийти, коли mycur1%незнайдено; dbms_output.put_line('id:'|| v_row.stuid||', ім'я: '|| v_row.stuname||', род: '|| v_row.stusex||' День народження: '|| v_row.stubir); кінцевий контур; інше Відкрийте mycur1 для вибору * з subinfo; Петля піднеси mycur1 у v_row2; --Читати курсор вийти, коли mycur1%незнайдено; кінцевий контур; кінець якщо; закрити mycur1; --Вимкни курсор кінець; вибрати * з підінформації;
--Сильний тип оголошувати тип curname — це ref cursor return stuinfo%rowtype; mycur1 curname; v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; Почніть v_sex := '& gender'; якщо v_sex = «чоловічий», то Відкрийте mycur1 для вибору * зі stuinfo, де stusex = 'чоловічий'; інше Відкрийте mycur1 для вибору * зі stuinfo, де stusex = «жінка»; кінець якщо;
Петля Візьми mycur1 у v_row; --Читати курсор вийти, коли mycur1%незнайдено; dbms_output.put_line('id:'|| v_row.stuid||', ім'я: '|| v_row.stuname||', род: '|| v_row.stusex||' День народження: '|| v_row.stubir); кінцевий контур; закрити mycur1; --Вимкни курсор кінець;
|