PL SQL 員工漲工資問題

2021-08-23 14:41:41 字數 1322 閱讀 2449

/*

為員工漲工資,從最低工資漲起,每人漲10%,但工資總額不能超過5萬元,請計算漲工資的人數和漲工資後的工資總額,並輸出漲工資人數及工資總額。

sql語句

select empno,sal from emp order by sal;

à游標à迴圈à退出條件:1、工資總額》5萬 2、%notfound

變數:1、初始值2、如何得到

漲工資的人數:

countemp number:=0;

漲後的工資總額:

saltotal number;

select sum(sal) into saltotal from emp;

漲後的工資總額=漲前的工資總額+sal*0.1(運算元據庫比運算慢,所以這個方法比較好)

*/set serveroutput on

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、工資總額》5萬

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;

--人數+1

countemp:=countemp+1;

--2、漲後的工資總額=漲前的工資總額+sal*0.1

saltotal:=saltotal+psal*0.1;

end loop;

--關閉游標

close cemp;

commit;

--列印結果

dbms_output.put_line(『人數:』||countemp||『漲後的工資人數:』||saltotal);

end;

/

給員工漲工資,總裁1000,經理800,其他400

先刪除原先的表emp drop table emp 建立表emp create table emp ename varchar2 20 empjob varchar2 20 sal number select from emp 為表輸入資料 insert into emp values smith ...

轉 漲工資的談判藝術

看到的帖子,留存一下。原址 說到2012年的職業目標,你也許會想到加薪。畢竟,經濟正在緩慢復甦,失業率逐漸開始下降,而且雇主的經濟狀況也可能比過去一兩年都要好。但是,在走進老闆的辦公室要求加薪之前,請先花點時間,為成功的談話做好準備。也就是說,要研究一下自己所處的行業 企業和職位的一般薪酬水平和發展...

2023年,哪些行業漲工資最多?

抖音創業網根據2019年各行業漲工資資料,對2020年工資增長做 報告,整體解讀如下 1 大部分行業的年工資增長率在6 7 之間,超過8 的行業是高科技和網際網路,低於6 的是製造業。隨著近些年製造業的低迷,整體工資增長前景並不樂觀。2 2020年因為疫情的因素,使得各行各業都受到較大損失,2020...