当前位置:   article > 正文

存储过程——IF判断_存储过程 if

存储过程 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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如果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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如果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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

多个分支 如果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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号