首页 > 数据库技术 > 详细

pl/sql(二) 流程控制语句

时间:2018-05-21 20:45:24      阅读:226      评论:0      收藏:0      [点我收藏+]

相当于java中的if else语句

IF  布尔表达式 THEN
PL/SQL SQL 语句;
END IF;

IF 布尔表达式 THEN
PL/SQL SQL 语句;
ELSE
其它语句;
END IF;

IF     布尔表达式   THEN
PL/SQL SQL 语句;
ELSIF  其它布尔表达式  THEN
其它语句;
ELSIF  其它布尔表达式  THEN
其它语句;
ELSE
其它语句;
END IF;

 

提示: ELSIF 不能写成 ELSEIF

要求: 查询出 150号 员工的工资, 若其工资大于或等于 10000 则打印 ‘salary >= 10000‘;
若在 5000 到 10000 之间, 则打印 ‘5000<= salary < 10000‘; 否则打印 ‘salary < 5000‘

 

declare
  v_sal employees.salary%type;
 begin
  select salary into v_sal from employees where employee_id=100;
  if v_sal>=10000 then
  dbms_output.put_line(salary>=10000);
  elsif v_sal>=5000 then
  dbms_output.put_line(5000<=salary<10000);
  else dbms_output.put_line(salary<5000);
  end if;
 end;

 

case表达式

CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
WHEN expressionN THEN resultN
[ ELSE resultN+1]
END;
例子:要求: 查询出 150号 员工的工资, 若其工资大于或等于 10000 则打印 ‘salary >= 10000‘; 
若在 5000 到 10000 之间, 则打印 ‘5000<= salary < 10000‘; 否则打印 ‘salary < 5000‘

 declare
  v_sal employees.salary%type;
  v_temp varchar2(30);
 begin
  select salary into v_sal from employees where employee_id=100;
    v_temp:=
    case trunc(v_sal/50000)
    when 2 then
    salary>=10000
    when 1 then
    5000<=salary<10000
    else salary<5000
    end;
    dbms_output.put_line(v_sal||,||v_temp);
 end;

要求: 查询出 122 号员工的 JOB_ID, 若其值为 ‘IT_PROG‘, 则打印 ‘GRADE: A‘;
‘AC_MGT‘, 打印 ‘GRADE B‘,
‘AC_ACCOUNT‘, 打印 ‘GRADE C‘;
否则打印 ‘GRADE D‘

/SQL> declare
  2     v_job_id varchar2(10);
  3     v_temp varchar2(10);
  4  begin
  5  select job_id into v_job_id from employees where employee_id=100;
  6  v_temp:=
  7  case v_job_id when IT_PROG then A
  8               when AC_MGT then B
  9               when AC_ACCOUNT then C
 10              else D
 11             end;
 12  dbms_output.put_line(v_job_id||,||v_temp);
 13  end;

 

 

 

pl/sql(二) 流程控制语句

原文:https://www.cnblogs.com/h-dada/p/9069108.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!