이 오라클 데이터베이스 시스템에서 작업 중이므로 다음을 수행해야합니다. 모든 직원의 채용 날짜에 따라 다음과 같이 급여가 증가했습니다. (하나의 SQL 문 사용) 10 % 급여 직원은 직원 1996업데이트시 oracle의 합계 및 조건
전에 고용 된 경우 직원 1997 2000 4 % 급여 증가 사이에 고용 된 경우 2001 7 % 급여 증가 후 고용하고 난 다음 코드를 사용할 경우 증가
update employee set salary = case
when hire_date>'1-1-2001' then salary=salary+salary*0.1
when hire_date between ('1-1-1997','1-1-2000') then salary=salary+salary*0.07
when hire_date < '1-1-1996' then salary=salary+salary*0.04
end
무엇이 잘못 되었습니까? 그게 ???
대단히 감사합니다. 연산자 구문 사이에 누락되었지만 쿼리가 여전히 작동하지 않습니다. ORA-01407 : "이상한"오류 ("직원". "구두")를 업데이트 할 수 없습니다 !! –
'salary를 기존 급여 값 –
으로 설정하려면'when ... else salary end'를 사용하십시오. 미안하지만 stackoverflow_employee를 첫 번째 줄에 테이블 이름으로 썼습니다. 직원에게 변경하거나 테이블의 실제 이름을 변경하십시오. .. – Abhishek