存储过程——IF判断

在PL/SQL中,IF、THEN、ELSE、ELSIF和END IF等关键字用于执行条件逻辑:
IF condition1 THEN
statements1
ELSIF condition2 THEN
statements2
ELSE
statements3
END IF;
其中:
condition1和condition2是布尔表达式,其值为真或假。
statements1、statements2、statements3是PL/SQL语句。
条件逻辑的流程如下:
如果condition1为真,就执行statements1.
如果condition1为假而condition2为真,就执行statement2.
如果condition1和condition2都为假,就执行statement3.
也可以在一条IF语句中嵌入另一条IF语句,如下所示:

IF v_count > 0 THEN
	v_message := 'v_count is positive';
	IF v_area > 0 THEN
		v_message := 'v_count and v_area are positive';
	END IF
ELSIF v_count = 0 THEN
	v_message := 'v_count is zero';
ELSE
	v_message := 'v_count is negative';
END IF;

如果Smith工资小于1000 结果输出 努力工资

declare
v_sal number;
begin
  select sal into v_sal from emp where ename = 'SMITH';
  if v_sal < 1000
    then  dbms_output.put_line('Smith加油工作');
  end if;
  end;

如果Smith工资小于600结果输出 努力工作 否则输出Smith很棒

declare
v_sal number;
begin
  select sal into v_sal from emp where ename = 'SMITH';
  if v_sal < 600
    then  dbms_output.put_line('Smith加油工作');
    else  dbms_output.put_line('Smith很棒');
  end if;
  end;

多个分支 如果Smith的工资小于500 输出Smith加油工作,工资[500,2000)输出Smith可以 工资大于等于2000输出Smith很棒

declare
v_sal number;
begin
  select sal into v_sal from emp where ename = 'SMITH';
  if v_sal < 600
    then   dbms_output.put_line('Smith加油工作');
  elsif v_sal >= 600 and v_sal < 2000
    then   dbms_output.put_line('Smith很棒');
  elsif v_sal >= 2000
    then dbms_output.put_line('Smith很bang棒');
  end if;
  end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值