`

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 PL/SQL 结构控制语句是 PL/SQL 语言中的一种基本结构,用于控制程序的逻辑流程。结构控制语句可以分为两种:分支结构和循环结构。在本篇文章中,我们将详细介绍 Oracle PL/SQL 结构控制语句的使用方法和示例...

    oracle常用SQL语句(汇总版).docx

    在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义语句(DDL)和其他相关知识点。 一、数据控制语句(DML) 数据控制语句用于操作数据库中的数据,包括插入、删除、更新等...

    Oracle控制语句结构

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

    Oracle中SQL语句执行效率的查找与解决

    本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...

    oracle的SQL语句的一些经验总结

    12. **并发控制**:Oracle的锁定机制,如行级锁定,用于在多用户环境中确保数据的一致性。 13. **分区(PARTITIONING)**:对于大型表,分区可以提高查询性能和管理效率。有范围、列表、哈希等多种分区方式。 以上...

    自动生成oracle数据库表分析语句

    3. **执行生成的语句**:生成的SQL语句可以直接复制并在Oracle环境中执行,或者将其保存到一个文件中批量执行。 #### 注意事项 - 在执行`ANALYZE TABLE`命令时,可能会消耗大量资源,特别是在大型表上。因此,在...

    数据库oracle中PLSQL语句简介及使用方法的举例说明

    执行部分包含PL/SQL的语句,如SQL查询、流程控制语句;异常处理部分用于捕获和处理程序运行时可能出现的错误。 二、PL/SQL的数据类型 PL/SQL支持多种数据类型,包括数值型(如NUMBER)、字符型(如VARCHAR2, CHAR)...

    常用oracle查询语句

    这条语句可以查看 Oracle 数据库中的控制文件名称,结果显示控制文件的名称。 5. 查看日志文件 select member from v$logfile; 这条语句可以查看 Oracle 数据库中的日志文件,结果显示日志文件的成员名称。 6. ...

    Oracle数据控制语句详解

    Oracle 数据控制语句详解 在 Oracle 数据库管理系统中,SQL 语言主要分为四大部分:数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)以及数据控制语言(DCL)。本篇文章主要关注的是 DML 和 DCL ...

    oracle_plsql语句大全

    **描述:** Oracle PL/SQL是Oracle数据库中一种强大的编程语言,它结合了SQL数据操作能力和过程化控制结构,使得开发者能够编写复杂的应用程序。 ### SQL*PLUS 命令介绍 在Oracle PL/SQL中,SQL*PLUS是一个非常重要...

    自己整理的Oracle常用高级语句.rar

    5. **if控制语句**: 在PL/SQL中,IF-THEN-ELSIF-ELSE语句用于实现条件判断。文档可能包含各种条件控制结构的实例,帮助用户掌握如何在存储过程中进行条件分支。 6. **Oracle的rollup**: ROLLUP操作符在GROUP BY...

    Oracle数据库语句大全.doc

    Oracle 数据库支持多种事务控制语句,例如 COMMIT、ROLLBACK 和 SAVEPOINT。 Oracle 数据库语句大全是 Oracle 数据库管理系统中的一系列语句,用于管理和操作数据库。这些语句可以分为四大类:数据定义语言(DDL)...

    ORACLE的SQL语句脚本

    PL/SQL(Procedural Language/Structured Query Language)是Oracle扩展的SQL,它允许编写包含流程控制、异常处理和数据操纵的块状代码。例如,下面是一个简单的PL/SQL过程,用于插入新员工记录: ```sql CREATE OR...

    Oracle经典SQL语句

    在Oracle中,基本的SQL语句包括SELECT、INSERT、UPDATE、DELETE,分别用于查询、插入、更新和删除数据。 2. **SELECT语句**:这是最常用的SQL语句,用于从表中检索数据。它支持各种运算符(如=, , &gt;, &lt;, BETWEEN等...

    oracle常用sql语句大全 注释完整 放心使用

    本资料集包含了Oracle数据库中常用SQL语句的大全,注释完整,非常适合初学者和有经验的开发者参考使用。 1. **数据查询(SELECT语句)**: - `SELECT * FROM table_name;`:查询表table_name中的所有列。 - `...

    Oracle创建用户语句

    本文将详细介绍如何使用SQL语句在Oracle数据库中创建新用户,并为这些用户分配必要的权限和资源。这包括理解创建用户的语法、指定用户密码、设置默认表空间以及授予用户权限等内容。 #### 二、创建用户的SQL语句 #...

    Oracle常用的SQL语句维护

    在这个语句中,`表空间名`是你为新表空间指定的名字,`路径/数据文件名.dbf` 是数据文件的路径和名称,`size`定义了初始大小,`UNIFORM`或`AUTOEXTEND`用于扩展策略。 接下来,我们讨论查询表空间的SQL语句。你可以...

    oracle开发语句及项目

    "Oracle开发语句及项目"这个主题涵盖了Oracle数据库的SQL语句使用和实际项目中的应用场景。下面将详细介绍Oracle开发中的关键知识点。 1. SQL基础: - SELECT语句:用于查询数据,包括基本查询、联接查询、子查询...

    oracle常用SQL语句(汇总版).zip

    - 子查询可以嵌套在其他SQL语句中,用于返回单个值、多个值或结果集,如`SELECT * FROM 表1 WHERE 列1 IN (SELECT 列2 FROM 表2 WHERE 条件);`。 7. 分区和索引: - Oracle支持表分区,可以提高大数据量查询的...

Global site tag (gtag.js) - Google Analytics