tool -> preference ->
수정 방법 알아보기
create or replace procedure emp_setting(emp_id number, dep_id number, phone varchar2, salaries number)
is
sManager_id employees.manager_id%type;
begin
select manager_id
into sManager_id
from departments
where department_id = dep_id;
update employees
set department_id = dep_id,
phone_number = phone,
salary = salaries,
manager_id = sManager_id
where employee_id = emp_id;
commit;
Exception when others then
dbms_output.put_line('employees update is failed');
rollback;
end;
//
매개변수로 emp_id , dep_id, phone, salaries 를 입력 받습니다
sManager_id 의 데이터 타입과 크기는 employees 테이블에 manager_id 를 참조합니다.
begin
departments 테이블에서 입력 받은 dep_id 와 같은 값을 가진 department_id 를 가진 manager_id 를 찾습니다.
그 manager_id 를 sManager_id 에 넣습니다.
update
employees 테이블에 emp_id 와 같은 값을 가진 employee_id 값을 찾습니다 -> 한 행이 됩니다.
그 행에 dep_id를 department_id 에 넣고, 이하 같습니다.
commit 으로 실행.
예외처리 합니다.
exec emp_setting(207,60,'590.423.1234',4500);
select * from employees;
SELECT last_name||first_name names, phone_number, salary, department_id
FROM EMPLOYEES
WHERE employee_id = 207;