You are on page 1of 3

create sequence empno_id1 increment by 1 start with 1131 maxvalue 9999 nocycle nocache; Sequence created.

create table emps3 (empno number(4), ename varchar2(20), sal number(7,2), jdate date); Table created. SQL> create or replace package over_emps is procedure ins_emps (v_empno emps3.empno%type, v_name emps3.ename%type default 'unknown', v_sal emps3.sal%type default 0, v_jdate emps3.jdate%type default sysdate); procedure ins_emps (v_name emps3.ename%type default 'unknown', v_sal emps3.sal%type default 0, v_jdate emps3.jdate%type default sysdate); end over_emps; / create or replace package body over_emps is procedure ins_emps (v_empno emps3.empno%type, v_name emps3.ename%type default'unknown', v_sal emps3.sal%type default 0, v_jdate emps3.jdate%type default sysdate) is begin insert into emps3 values(v_empno,v_name,v_sal,v_jdate); end ins_emps; procedure ins_emps (v_name emps3.ename%type default'unknown', v_sal emps3.sal%type default 0, v_jdate emps3.jdate%type default sysdate) is begin insert into emps3 values(empno_id1.nextval,v_name,v_sal,v_jdate); end ins_emps; end over_emps; /

create or replace package body over_emps is procedure ins_emps (v_empno emps3.empno%type, v_name emps3.ename%type default'unknown', v_sal emps3.sal%type default 0, v_jdate emps3.jdate%type default sysdate) is begin insert into emps3 values(v_empno,v_name,v_sal,v_jdate); end ins_emps; procedure ins_emps (v_name emps3.ename%type default'unknown', v_sal emps3.sal%type default 0, v_jdate emps3.jdate%type default sysdate) is begin insert into emps3 values(empno_id1.nextval,v_name,v_sal,v_jdate); end ins_emps; end over_emps;

============================================ create or replace package emps_dml is procedure insrec (eno emps4.empno%type, name emps4.ename%type, esal emps4.sal%type); procedure updrec (eno emps4.empno%type, esal emps4.sal%type); procedure delrec (eno emps4.empno%type); end emps_dml; / create or replace package body emps_dml is procedure insrec (eno emps4.empno%type, name emps4.ename%type, esal emps4.sal%type) is emps_exist exception; empscount number; begin select count(*) into empscount from emps4 where empno=eno; if empscount>0 then raise emps_exist; else insert into emps4 values(eno,name,esal);

commit; end if; exception when emps_exist then raise_application_error(-20122,'sorry employee exist with this number:'||eno); end insrec; procedure updrec (eno emps4.empno%type, esal emps4.sal%type) is no_emps exception; empscount number; begin select count(*) into empscount from emps4 where empno=eno; if empscount>0 then update emps4 set sal=sal+esal where empno=eno; commit; else raise no_emps; end if; exception when no_emps then raise_application_error(-20164,'sorry employee does not exist with this number:' ||eno); end updrec; procedure delrec (eno emps4.empno%type) is no_emps exception; empscount number; begin select count(*) into empscount from emps4 where empno=eno; if empscount>0 then delete from emps4 where empno=eno; commit; else raise no_emps; end if; exception when no_emps then raise_application_error(-20987,'sorry employee does not exist:'||eno); end delrec; end emps_dml; /

================================================================================ =====

You might also like