CREATE TABLE TAD_EMP_SALARY
(
EMP_ID NUMBER(10),
MONTH NUMBER(10),
YEAR NUMBER(10),
BASIC_SALARY NUMBER(15),
PF NUMBER(15),
VAR_ALLOW NUMBER(10),
TOTAL NUMBER(15),primary key(emp_id,month,year)
)
CREATE OR REPLACE procedure TAD_EMP_PAY(p_month number,p_year number)
is
v_month number(20);
v_year number(20);
v_pf number(10);
v_var_allow number(10);
PF varchar2(10);
VAR_ALLOW varchar2(10);
TOTAL varchar2(10);
--c2 tad_pf_var1%rowtype;
cursor c1 is
select empid ,basic_salary from tad_employe_details;
begin
select pf,var_allow into v_pf,v_var_allow from tad_pf_var1 where month=p_month and year=p_year;
for c in c1
loop
PF:= c.basic_salary * v_pf/100;
VAR_ALLOW:= c.basic_salary * v_var_allow/100;
TOTAL:= c.basic_salary +PF +VAR_ALLOW;
v_month:=p_month;
v_year:=p_year;
insert into tad_employe_salary values(c.empid,v_month,v_year,c.basic_salary,PF,var_allow,total);
dbms_output.put_line('record is inserted');
commit;
End loop;
end;
___________________________________________
___________________________________________
set serveroutput on
begin
tad_emp_pay(1,2013);
end;
(
EMP_ID NUMBER(10),
MONTH NUMBER(10),
YEAR NUMBER(10),
BASIC_SALARY NUMBER(15),
PF NUMBER(15),
VAR_ALLOW NUMBER(10),
TOTAL NUMBER(15),primary key(emp_id,month,year)
)
CREATE OR REPLACE procedure TAD_EMP_PAY(p_month number,p_year number)
is
v_month number(20);
v_year number(20);
v_pf number(10);
v_var_allow number(10);
PF varchar2(10);
VAR_ALLOW varchar2(10);
TOTAL varchar2(10);
--c2 tad_pf_var1%rowtype;
cursor c1 is
select empid ,basic_salary from tad_employe_details;
begin
select pf,var_allow into v_pf,v_var_allow from tad_pf_var1 where month=p_month and year=p_year;
for c in c1
loop
PF:= c.basic_salary * v_pf/100;
VAR_ALLOW:= c.basic_salary * v_var_allow/100;
TOTAL:= c.basic_salary +PF +VAR_ALLOW;
v_month:=p_month;
v_year:=p_year;
insert into tad_employe_salary values(c.empid,v_month,v_year,c.basic_salary,PF,var_allow,total);
dbms_output.put_line('record is inserted');
commit;
End loop;
end;
___________________________________________
___________________________________________
set serveroutput on
begin
tad_emp_pay(1,2013);
end;
No comments:
Post a Comment