oracle涨工资,PL/SQL基本语法,给不同身份的人涨工资-Oracle

PL/SQL基本语法,给不同身份的人涨工资

/*

给员工涨工资:总裁1000 经理800 其他400\

可能用到的sql语句就是

update emp e e.sal=e.sal+??? where e.empno=empno; ,由于不知道给那个职位的涨工资,

所以是要判断的,根据job,这个job从哪里来,当然从emp表中来

select empno,ename ,sal from emp;

做这个的时候应该先把可能有可能出现的Sql都写出来,

这样子是一种方法,是IBM的DBA培训讲师告知的。

*/

set serveroutput on

–声明输入开关

declare

–定义游标。这个cemp就是保存多个变量的值的,相当于一个集合,好吧

cursor cemp is select empno, empjob from emp;

–定义变量,这是其中方式之一

pempno emp.empno%type;

pjob emp.empjob%type;

begin

–开始

–1: 打开游标

open cemp;

–循环游标中的值,给变量赋值

LOOP

–取出第一个员工

fetch cemp into pempno, pjob;

–退出,当是这个条件的时候推出

exit when cemp%notfound;

–开始判断职位  ,

/*

那个  语法介绍一下, 游标的使用语法 ,1: 定义游标 ,cursor 游标名字 is 后面是要向游标中添加那些值

2: 打开游标,

3: 取出游标里面的值,用 fetch ,一般都是写在循环里面,把游标的值赋给定义的变量,

4: 关闭游标

*/

/*

判断语法  if then, elsif  then, else  end if;

*/

/*

循环的方法有三种, loop , end loop; 这是使用最常见的一种

*/

if pjob=’PRESIDENT’ then update emp set sal=sal+1000 where empno= pempno;

elsif pjob=’MANAGER’ then update emp set sal=sal+800 where empno=pempno;

else update emp set sal=sal+200 where empno=pempno;

end if;

END LOOP ;

close cemp;

–提交所修改的东西

commit;

dbms_output.put_line(‘涨工资完成’);

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值