在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';
	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;
                    在PL/SQL中,IF、THEN、ELSE、ELSIF和END IF等关键字用于执行条件逻辑:IF condition1 THENstatements1ELSIF condition2 THENstatements2ELSEstatements3END IF;其中:condition1和condition2是布尔表达式,其值为真或假。statements1、statements2、statements3是PL/SQL语句。条件逻辑的流程如下:如果condition1为真,就执行sta
简单语句用mybatis调用该存储函数,type传值为‘1‘时报空指针错误,提示我参数设置错误
懵逼的检查着我的Mapper、dao、service,没有问题,但是传值‘1’就是不可以!就是报错!
好吧,我直接数据库运行这个存储函数,传值‘1’,崩溃..
-- 语法
if search_condition_1 then statement_list_1
    [elseif search_condition_2 then statement_list_2] ...
    [else statement_list_n]
end if
学生成绩等级存储过程
-- 输入学生的成绩,来判断成绩的级别:
在存储过程里面,使用if语法,可以达到判断的效果
如下面例子,我想根据传入参数来执行不同的语句
CREATE OR REPLACE PROCEDURE DEMO(DEMO_FLAG IN VARCHAR2) IS
  DEMO_DAT...
				
具体详情请看下文小编给大家带来的知识点。 同编写程序类似,存储过程中也有对应的条件判断,功能类似于if、switch。在MySql里面对应的是IF和CASE 1、IF判断 IF判断的格式是这样的: IF expression THEN commands [ELSEIF expression THEN commands] [ELSE commands] END IF; 这里expression是我们的判断表达式;ELSE IF 和ELSE都是可选的;command就是当条件为真(true为1,false为0)时执行的命令。比如我们设计一个存储过程用于返回商品的价格,这里价格通过传
SQL Server中可以使用系统内部存储过程xp_fileexist判断文件是否存在,如果存在再使用xp_cmdshell删除文件。xp_fileexist除了可以判断文件是否存在外,还可以判断文件夹是否存在,下面是下使用这两个的示例。 删除文件存储过程 ALTER proc [dbo].[delFile_P] ( @path nvarchar(200)) as declare @result int exec master.dbo.xp_fileexist @path,@result out –路径可以有空格 if @result = 1 –1存在该文件,0不存在 begin     –