Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / SQL и PL/SQL в Oracle10g
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Лабораторная работа 17.1 Применение явных курсоров

Явные курсоры в коде Oracle PL/SQL, ключевые слова CURSOR, OPEN, FETCH, CLOSE

Задание:

Напишите код PL/SQL, который бы выводил информацию из таблицы hr.employees в виде, аналогичном представленному на рис. Лаб. 17.1-1. Должны выводиться:

  • информация о номере сотрудника;
  • информация о фамилии и имени сотрудника;
  • информация о времени, которое этот сотрудник отработал на предприятии. Если время более и равно 10 лет, должен выводиться текст "Больше или равно 10 лет". В противном случае должен выводиться текст "Меньше 10 лет".

Используйте для этого кода явный курсор.

Рис. Лаб. 17.1-1 (показаны частичные результаты).

Решение:

Соответствующий код PL/SQL может быть таким (выполняется в SQL*Plus):

DECLARE

rEmp hr.Employees%ROWTYPE;

CURSOR cCur1 IS SELECT * FROM hr.employees;

BEGIN

Open cCur1;

LOOP

FETCH cCur1 into rEmp;

EXIT WHEN cCur1%NOTFOUND;

If MONTHS_BETWEEN(SYSDATE, rEmp.Hire_date)/12 >= 10 then

DBMS_Output.PUT_LINE('Номер сотрудника: ' || rEmp.Employee_ID || ' Имя и фамилия: ' || rEmp.first_name || ' ' || rEmp.last_name || ' Больше или равно 10 лет');

ELSE

DBMS_Output.PUT_LINE('Номер сотрудника: ' || rEmp.Employee_ID || ' Имя и фамилия: ' || rEmp.first_name || ' ' || rEmp.last_name || ' Меньше 10 лет');

END IF;

END LOOP;

CLOSE cCur1;

END;

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru