亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于給員工漲工資的那個老師沒有寫完整的案例

有沒有老師寫的那個給員工漲工資的完全代碼

正在回答

2 回答

declare
?? cursor cemp is select empno ,sal from emp order by sal;
?? --定義參數
?? pempno emp.empno%type;
?? psal emp.sal%type;
?? countEmp number :=0;
?? salTotal number;

?? begin
???? --得到工資總額的初始值
???? select? sum(sal) into salTotal from emp;
???? --打開光標
???? open cemp;
????????? loop
????????????? -- 1.工資總額>5w
????????????? exit when salTotal>50000;
????????????? --取一個員工漲工資
????????????? fetch? cemp into? pempno ,psal;
????????????? --2.%notfound
????????????? exit when cemp%notfound;

????????????? --漲工資
????????????? if salTotal+psal*1.1<50000 then
????????????? update? emp set sal = sal*1.1 where empno=pempno;
????????????? --漲工資的人數
????????????? countEmp := countEmp+1;
????????????? --漲后的工資總額
????????????? salTotal := salTotal+psal*0.1;
????????????? else exit;
????????????? end if; ?
????????? end loop;
???? --關閉光標
???? close cemp;
???? dbms_output.put_line('漲工資人數:'||countEmp||? '資總額:'||salTotal);
?? end;

2 回復 有任何疑惑可以回復我~
#1

慕粉2310089285 提問者

非常感謝!
2017-12-29 回復 有任何疑惑可以回復我~
#2

WestBrook_wyf

--漲工資 if salTotal+psal*1.1<50000 then 這個漲工資條件,不應該是漲后總工資嗎? 漲后總工資=漲前總工資+漲的工資數額 應該是:if salTotal+psal*0.1<50000 then 把? 求解答。。 (小白一枚,個人見解)
2018-10-09 回復 有任何疑惑可以回復我~
#3

panda趙 回復 WestBrook_wyf

me too
2019-04-16 回復 有任何疑惑可以回復我~

不需要用if 直接加個when就可以了

loop
exit?when?cemp%notfound;
fetch?cemp?into?pempno,psal;
exit?when?salTotal?>?50000;
exit?when?salTotal+psal*0.1?>?50000;
update?emp?set?sal=sal*1.1?where?empno=pempno;
salTotal?:=?salTotal?+psal*0.1;
countEmp?:=?countEmp?+1;
end?loop;


0 回復 有任何疑惑可以回復我~
#1

慕九州7682859

第4行的退出條件可以省略嗎?
2019-07-27 回復 有任何疑惑可以回復我~
#2

星光如此燦爛 回復 慕九州7682859

可以省略,那行確實冗余了。
2019-07-30 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于給員工漲工資的那個老師沒有寫完整的案例

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號