`

oracle中控制语句

阅读更多
1. oracle控制语句
set serverout on;表示多行执行

/ 使用/结尾表示执行多行

SQL> set serverout on;
declare n number:=1;
        v varchar2(20):='world';
begin
   dbms_output.put_line('hello'||n||v);
end;
执行结果:
hello1world

1) IF条件语句
SQL> 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;
执行结果:
有3个员工的基本薪资大于等于3000

SQL> set serverout 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('有超过1个员工的基本薪资大于等于3000');
  else
    dbms_output.put_line('没有员工的基本薪资大于等于3000'); 
  end if;
  end if;
end;
执行结果:
有超过1个员工的基本薪资大于等于3000

2) CASE WHEN流程控制语句
SQL> 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;
执行结果:
有3个员工的基本薪资大于等于3000

3) 循环语句
3.1) 无条件循环 loop
SQL> 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;
执行结果:
2等级的最低薪资1201,最高工资:1400
3等级的最低薪资1401,最高工资:2000
4等级的最低薪资2001,最高工资:3000

3.2) while 循环
SQL> 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;
执行结果:
2等级的最低薪资1201,最高工资:1400
3等级的最低薪资1401,最高工资:2000
4等级的最低薪资2001,最高工资:3000

3.3) for 循环
SQL> 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等级的最低薪资1201,最高工资:1400
3等级的最低薪资1401,最高工资:2000
4等级的最低薪资2001,最高工资:3000
分享到:
评论

相关推荐

    Oracle中的控制语句

    Oracle中的控制语句

    oracle PLSQL结构控制语句

    oracle PLSQL结构控制语句 带示例跟练习

    Oracle控制语句结构

    Oracle数据库学习整理出来的控制语句结构,提供给大家参考哦

    Oracle数据控制语句详解

    说明一下Oracle的操作和控制语句

    Oracle使用SQL语句创建用户及表空间

    Oracle使用SQL语句创建用户和表空间,比进EM创建更方便,更好控制,特别是对于不是自己创建的实例,对服务器也没有取得完全控制权的时候很方便。

    oracle控制语句

    oracle控制语句

    Oracle控制语句[参考].pdf

    Oracle控制语句[参考].pdf

    Oracle数据库Sql语句详解大全

    写一条SELECT查询语句 在查询中使用表达式、运算符 对空值的处理 对查询字段起别名 查询字段的连接 第二章 条件查询 WHERE条件查询 在查询中使用表达式、运算符 使用LIKE、BETWEEN、IN进行模糊查询 第三章 单行...

    Oracle 常用Sql语句

    Oracle 常用查询语句 查看表空间使用、日志使用、数据字典、控制文件等信息查询、修改、维护;数据查询语句优化分析;数据导入导出等操作

    详解Oracle数据库各类控制语句的使用

    本文我们主要介绍了Oracle数据库中各种控制语句的使用,包括逻辑控制语句、Case when的使用、While的使用以及For的使用等,希望本次的介绍能够对您有所收获!

    ORACLE并发控制

    该文档详述ORACLE悲观锁和乐观锁的使用,锁定策略的选择及ORACLE在处理锁升级所使用的锁定转换策略

    oracle全套ppt教程

    2、oracle之查询语句.PPT 3-oracle之DDL和DML.ppt 6、oracle之数据库对象.PPT 8、oracle之安全.ppt 10、oracle之PLSQL基础.PPT 11、oracle之PLSQL高级.PPT 12、oracle之查询优化.PPT 12、数据库的规范化设计.PPT ...

    21天学会oracle

    第15章 Oracle中的控制语句.ppt 第16章 SQL查询.ppt 第17章 SQL更新数据.ppt 第18章 数据库速度优化与数据完整性.ppt 第19章 数据一致性与事务管理.ppt 第20章 并发控制.ppt 第21章 Oracle中的正则表达式.ppt 第22章...

    oracle 入门很简单.zip

    第10章Oracle中的控制语句.ppt 第11章视图ppt 第12章约速ppt 第13章游标pp 第14章触发器ppt 第15章序列.ppt 第16章用户、角色与权限控制。ppt 第17章函数与存储过程ppt 第18章数据车性能优化.ppt 第l9章数据库一致性...

    ORACLE中的SQL(txt)

    1.oracle中的sql语句(55条) 2.oracle常用的sql语法和数据对象 (1)数据控制部分 (2)数据定义部分 (3)查询语句部分 (4)常用数据对象 (5)权限管理语句 3.oracle中表管理的sql语句

    炼数成金 课程+教材 Oracle数据库职业直通车-Oracle入门学习教学视频 谭怀远老师.txt

    第4课 Oracle数据库的参数文件,控制文件,数据文件和日志文件 第5课 Oracle体系架构简述 第6课 Oracle数据库的对象(1) 第7课 Oracle数据库的对象(2) 第8课 复杂一些的SQL语句 第9课 学写存储过程和函数 第10课...

    oracle实验报告

    PL/SQL块中的可执行部分是由一系列语句组成的(包括对数据库进行操作的SQL语句,PL/SQL语言的各种流程控制语句等)。在块中对数据库查询,增、删、改等对数据的操作是由SQL命令完成的。在PL/SQL块中,可以使用SQL的...

    Oracle数据库学习指南

    44.总结SQL语句中的优化提示 45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移 Oracle1: 1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪...

Global site tag (gtag.js) - Google Analytics