create or replace procedure register_emp (f_name varchar2, l_name varchar2, e_acct varchar2, j_id varchar2)
is
begin
insert into employees (employee_id, first_name, last_name, email, hire_date, job_id)
values(employees_seq.nextval, f_name, l_name, e_acct, sysdate,j_id);
commit;
Exception when others then
dbms_output.put_line(f_name || ' '||l_name ||'register is failed!');
rollback;
end;
//
윗 프로시저가 하는 일은 무엇인가요?
employees 의 컬럼에 값들을 넣습니다. 값들은 매개변수로 받아옵니다. 예외가 발생하면 register is failed !라는 문구가 출력되고 처음으로 돌아갑니다. 컬럼에 넣지 않은 값들은 null 이 들어갑니다.
value 첫번째 인자로 employees_seq.nextval 가 employee_id 로 들어 갑니다, 시퀀스(다음값)가
employee_id 로 들어가서 자동으로 가장 뒷 넘버로 갑니다
그럼 값들을 입력하는 방법은
execute register_emp('길동','홍','Hong','IT_PROG');