declare
v_emprec employees%rowtype := Emp_Util.Get_One_Row;
begin
v_emprec.salary := v_emprec.salary * 1.2;
update employees_0
set row = v_emprec
where employee_id = v_emprec.employee_id;
end;
/
rollback ;
declare
-- Of course this form works too
-- and does so at 9.0.1 since the in-bind
-- is not a RECORD
v_emprec employees%rowtype := Emp_Util.Get_One_Row;
begin
v_emprec.salary := v_emprec.salary * 1.2;
update employees_0
set
first_name = v_emprec.first_name,
last_name = v_emprec.last_name,
email = v_emprec.email,
phone_number = v_emprec.phone_number,
hire_date = v_emprec.hire_date,
job_id = v_emprec.job_id,
salary = v_emprec.salary,
commission_pct = v_emprec.commission_pct,
manager_id = v_emprec.manager_id,
department_id = v_emprec.department_id
where employee_id = v_emprec.employee_id;
end;
/
rollback ;
declare
v_emprec employees%rowtype := Emp_Util.Get_One_Row;
begin
v_emprec.salary := v_emprec.salary * 1.2;
update employees_0
set (
first_name,
last_name,
email,
phone_number,
hire_date,
job_id,
salary,
commission_pct,
manager_id,
department_id )
= v_emprec
where employee_id = v_emprec.employee_id;
end;
/
rollback ;
declare
v_emprec employees%rowtype := Emp_Util.Get_One_Row;
cursor cur is
select last_name, email, hire_date, job_id, salary
from employees;
v_empsubrec cur%rowtype;
begin
v_empsubrec.last_name := v_emprec.last_name;
v_empsubrec.email := v_emprec.email;
v_empsubrec.hire_date := v_emprec.hire_date;
v_empsubrec.job_id := v_emprec.job_id;
v_empsubrec.salary := v_emprec.salary * 1.2;
update employees_0
set row = v_empsubrec
where employee_id = v_emprec.employee_id;
end;
/
rollback ;