zoukankan      html  css  js  c++  java
  • oracle 控制语句

    PL输出语句

    set serverout on; -- 开启PL的输出语句功能
    declare

    n number:=1; -- 声明一个number型的变量n,并赋值为1
    v varchar2(20):='world'; -- 声明一个varchar2类型的变量v 赋值为“world”
    begin -- 控制语句书写在 begin      --     end 之间
    dbms_output.put_line('hello'||n||v); -- 输出语句,数据连接使用‘||’
    end;

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

    赋值语句
    set serverout on;
    declare emp_count number;
    begin
    select count(*) into emp_count from emp where sal>=3000;  --  查询出数据并赋值给 emp_count
    if emp_count=1 then
    dbms_output.put_line('有1个员工的基本薪资大于等于3000');
    else if emp_count>1 then
    dbms_output.put_line('有超过1个员工的基本薪资大于等于3000');
    else
    dbms_output.put_line('没有员工的基本薪资大于等于3000');
    end if;
    end if;
    end;

    case when 流程控制语句

    set serverout 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 serverout 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(g_id || '等级的最低薪资'|| g_losal || ',最高薪资:' || g_hisal);

    g_id:=g_id+1;

    end loop;
    end;

    while 循环
    set serverout 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(g_id || '等级的最低薪资'|| g_losal || ',最高薪资:' || g_hisal);
    g_id:=g_id+1;
    end loop;

    end;

    for 循环
    set serverout 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(g_id || '等级的最低薪资'|| g_losal || ',最高薪资:' || g_hisal);
    end loop;
    end;

  • 相关阅读:
    命令练习题2
    l命令练习题1
    命令用法习题,yum仓库的创建 chapter02
    网络基础知识
    Linux常用的命令及使用方法
    Linux 常见的常识及常用快捷键方式
    一条命令解决mac版本python IDLE无法输入中文问题
    RS232串口的Windows编程纪要
    在龙芯小本上安装Debain8.10
    mac电脑进行可见光通信实验要点
  • 原文地址:https://www.cnblogs.com/getchen/p/8422988.html
Copyright © 2011-2022 走看看