2017-10-06 4 views
0

오류 나는 점점 오전는 : 오류가에 발생합니다 enter image description hereORA-00936 :없는 표현의 오류

절차에 문을 '삽입'. 목표 테이블은 insert 문과 같은 수의 열과 데이터 유형을가집니다.

내 절차는 다음과 같습니다 저장 프로 시저 호출

create or replace procedure updatetax 
is 
date_30 date:=sysdate-(365*30); 
date_50 date:=sysdate-(365*50); 
/*employees less than 30 years of age*/ 
cursor c1 is 
select eid 
from employee 
where dateofbirth>date_30 
and enddate is null; 
/*employees between the age of 30 and 50*/ 
cursor c2 is 
select eid 
from employee 
where dateofbirth between date_50 and date_30; 
/*employees greater than 50 years of age*/ 
cursor c3 is 
select eid 
from employee 
where dateofbirth<date_50; 
r1 employee.eid%type; 
r2 employee.eid%type; 
r3 employee.eid%type; 
begin 
    open c1; 
    for r1 in c1 
    loop 
    insert into emptax 
    values(r1.eid,gettaxlessthan30(select salary from empsalary where eid=r1.eid),sysdate); 
    end loop; 
    close c1; 
    commit; 
    open c2; 
    for r2 in c2 
    loop 
    insert into emptax 
    values(r2.eid,gettaxbetween30and50(select salary from empsalary where eid=r2.eid),sysdate); 
    end loop; 
    commit; 
    open c3; 
    close c2; 
    for r3 in c3 
    loop 
    insert into emptax 
    values(r3.eid,gettaxgreaterthan50(select salary from empsalary where eid=r3.eid),sysdate); 
    end loop; 
    commit; 
    close c3; 
end; 
/

기능은 아래의 논리입니다

create or replace function gettaxlessthan30(esalary_in number) 
return number 
is 
    tax_out number(10,2); 
begin 
    tax_out:=0.07*esalary_in; 
    return tax_out; 
end; 
/

답변

0

가 해결 - 처음부터 절차를 다시 재 작성하고 일 잘 됐네.