SQL/Oracle——第六章 PL/SQL函数(作业4)

本文详细介绍了在Oracle数据库中使用PL/SQL进行条件判断和循环操作的实例,包括单分支if、双分支if、多分支if、CASE语句以及使用LOOP、WHILE和FOR循环计算阶乘的方法,旨在帮助读者掌握数据库编程技巧。
摘要由CSDN通过智能技术生成
1)从emp表中查询指定员工的工资,并判断该员工的工资是否低于2000。如果条件成立,那么该员工的工资增加200。(单分支if)
declare
	num_sal number;
begin
	select sal into num_sal from emp where empno=7902;
	if num_sal<2000 then
		update emp set sal = sal+200 where empno = 7902;
	end if;
end;
/
2)根据给定的职工编号从emp表中查询该职工的奖金(comm字段的值),如果奖金的值不为0,那么将表中该职工的奖金增加200,否则(即comm为0或null)将该职工的奖金设置为100。(双分支if)

本题"奖金的值不为0"的判断,因为comm有空值null字段,需要使用nvl函数.
nvl(表达式1,表达式2):如果表达式1为空值,nvl返回值为表达式2的值,否则返回表达式1的值。该函数的目的就是将null值转换成具体值.

declare
	num_comm number;
	d number:=&员工编号;
begin
	select comm into num_comm from emp where empno=d;
	if num_comm is not null then
		update emp set comm = comm+200 where empno = d;
	else
		update emp set comm=100 where empno = d
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值