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

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


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

Лабораторная работа 16.1 Применение записей (Records)

Объект записи (RECORD) в Oracle PL/SQL, применение

Задание:

Напишите код PL/SQL, который бы:

1. Запрашивал у пользователя информацию о номере сотрудника (столбец employee_id) и новой заработной плате (столбец salary) в таблице hr.employees.

2. На основе полученной информации изменял бы заработную плату для этого сотрудника.

3. Выводил бы информацию о номере сотрудника, его имени и фамилии, старой и новой заработной плате (см. рис. Лаб. 16.1-1).

Рис. Лаб. 16.1-1

Примечание: в этой лабораторной работе должен объявляться и использоваться тип RECORD, представляющий запись из таблицы hr.employees. Этот тип должен использоваться как для изменения данных в таблице, так и для вывода информации.

Решение:

Соответствующий код PL/SQL может быть таким:

SET SERVEROUTPUT ON;

DECLARE

nEmpId number(6,0) := &Номер_сотрудника;

nOldSalary number(8,2);

nNewSalary number(8,2) := &Новая_зарплата;

rEmp hr.employees%ROWTYPE;

BEGIN

SELECT * INTO rEmp FROM hr.EMPLOYEES WHERE employee_id = nEmpId;

nOldSalary := rEmp.Salary;

rEmp.Salary := nNewSalary;

UPDATE hr.Employees SET ROW = rEmp WHERE employee_id = rEmp.employee_id;

COMMIT;

dbms_output.PUT_LINE('Номер сотрудника: ' || rEmp.Employee_id || ' Имя и фамилия: ' || rEmp.first_name || ' ' || rEmp.Last_name);

dbms_output.PUT_LINE('Старая зарплата: ' || nOldSalary || '  Новая зарплата:  ' || rEmp.Salary);

END;

 

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

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


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

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