Oracle学习----高级篇(三)-----Oracle控制语句

Oracle控制语句

  • 为后面的存储过程作铺垫
--让控制台输出信息
set serveroutput on;
--定义数值
declare n number:=1;
        v varchar2(10):='world';
begin
  --控制台输出
  dbms_output.put_line('hello'||n||v);
end;
  

在这里插入图片描述

IF条件语句

set serveroutput on;
declare emp_count number;
begin
  select count(*) into emp_count from emp where sal>=3000;
  if emp_count=1 then 
    dbms_output.put_line('有1名员工的基本薪资大于等于3000');
  else if emp_count>1 then
    dbms_output.put_line('有'||emp_count||'名员工的基本薪资大于等于3000');
  else
    dbms_output.put_line('没有员工的基本薪资大于等于3000'); 
  end if; 
  end if;
 end;

在这里插入图片描述

CASE WHEN 流程控制语句

set serveroutput on;
declare emp_count number;
begin
  select count(*) into emp_count from emp where sal>=3000;
  case emp_count
  when 0 then dbms_output.put_line('没有员工的薪资大于3000');
  when 1 then dbms_output.put_line('有1名员工的薪资大于3000');
  when 2 then dbms_output.put_line('有2名员工的薪资大于3000');
  when 3 then dbms_output.put_line('有3名员工的薪资大于3000');
  else dbms_output.put_line('超过3名员工的薪资大于3000');
  end case;
end;

在这里插入图片描述

循环语句

无条件循环 loop

set serveroutput on;
declare g_id number:=2;
        g_losal number;
        g_hisal number;
begin
  loop
    if(g_id>4) then
      exit;
    end if;
    select losal,hisal into g_losal,g_hisal from salgrade where grade=g_id;
    dbms_output.put_line('ID为'||g_id||'的最低薪资为:'||g_losal||',最高薪资为:'||g_hisal);
    g_id:=g_id+1;
  end loop;
end;

在这里插入图片描述

while 循环

set serveroutput on;
declare g_id number:=2;
        g_losal number;
        g_hisal number;
begin
  while g_id<5 loop
    select losal,hisal into g_losal,g_hisal from salgrade where grade=g_id;
    dbms_output.put_line('ID为'||g_id||'的最低薪资为:'||g_losal||',最高薪资为:'||g_hisal);
    g_id:=g_id+1;
  end loop;
end;

在这里插入图片描述

for 循环

set serveroutput on;
declare g_losal number;
        g_hisal number;
begin
  for g_id in 2..4 loop
    select losal,hisal into g_losal,g_hisal from salgrade where grade=g_id;
    dbms_output.put_line('ID为'||g_id||'的最低薪资为:'||g_losal||',最高薪资为:'||g_hisal);
  end loop;
end;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值