`

oracle 存储过程实例-4

 
阅读更多
--错误处理部分。

--自定义异常处理
CREATE OR REPLACE PROCEDURE stu_proc
(
  --多个用逗号隔开
  v_id IN NUMBER
) IS
  --多个用分号隔开
  v_max_id NUMBER;
  v_name VARCHAR2(20);
  v_raise EXCEPTION; 
BEGIN
  SELECT MAX(a.id) INTO v_max_id FROM student a;
  IF v_id>v_max_id THEN
    RAISE v_raise;
  END IF;
  SELECT o.sname INTO v_name FROM student o WHERE o.id=v_id;
  dbms_output.put_line('学生名称为:'||v_name);
EXCEPTION
  WHEN v_raise THEN 
    RAISE_APPLICATION_ERROR(-20010, 'v_id not exists!');
  WHEN NO_DATA_FOUND THEN 
    RAISE_APPLICATION_ERROR(-20011, 'ERROR:不存在!');
END stu_proc;


OTHERS表示除了声明外的任意错误。SQLERRM是系统内置变量保存了当前错误的详细信息


EXCEPTION


   WHEN OTHERS THEN
      vs_msg := 'ERROR IN xxxxxxxxxxx_p('||is_ym||'):'||SUBSTR(SQLERRM,1,500);


   ROLLBACK;


   --把当前错误记录进日志表。


   INSERT INTO LOG_INFO(proc_name,error_info,op_date)
   VALUES('xxxxxxxxxxx_p',vs_msg,SYSDATE);
   COMMIT;
   RETURN;


分享到:
评论

相关推荐

    oracle存储过程详解-开发技术

    ### Oracle存储过程详解 #### 一、存储过程概述 存储过程是一种存储在数据库中的SQL脚本集合,它可以接受输入参数并返回输出结果。在Oracle数据库中,存储过程使用PL/SQL语言编写,这是一种专为Oracle设计的过程化...

    oracle 存储过程实例

    oracle 存储过程 实例 教程 oracle 存储过程 实例 教程 对于初学者来说是很好的例题

    oracle存储过程学习经典(实例)

    这个"Oracle存储过程学习经典(实例)"资源显然是为初学者设计的,旨在帮助他们掌握如何创建、执行和管理存储过程。 存储过程在数据库管理中扮演着关键角色,它可以提升系统的性能,通过减少网络流量和提供预编译的...

    oracle的一个简单存储过程实例

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储...

    oracle存储过程语法及实例讲解

    ### Oracle存储过程语法及实例详解 #### 一、概述 Oracle存储过程是一种在数据库服务器上预编译并存储的程序块,它可以包含一系列SQL语句和控制流语句。存储过程提高了应用程序性能,并增强了数据的一致性和安全性...

    oracle存储过程实例

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL和PL/SQL语句,形成一个可重用的程序单元。存储过程在数据库中预先编译并存储,这样在执行时能提高效率,因为它避免了每次调用时的重新...

    oracle存储过程概念及实例

    Oracle 存储过程概念及实例 Oracle 存储过程是一种可以在数据库中存储和执行的一或多个 SQL 命令的对象。用户可以通过指定存储过程的名字并给出参数来执行它。 优点: 1. 大大提高效率。存储过程本身的执行速度...

    Oracle数据库---存储过程实例

    ### Oracle数据库——存储过程实例 #### 1. 存储过程简介 在Oracle数据库中,存储过程是一种数据库对象,它由SQL语句和流程控制语句组成,并存储在数据库服务器上。当需要执行特定任务时,可以通过调用存储过程来...

    oracle存储过程学习经典[语法+实例+调用]

    在学习Oracle存储过程时,结合详细的文档如《oracle存储过程超详细使用手册.doc》和实例资料《oracle存储过程学习经典[语法+实例+调用].doc》会非常有帮助。这些文档通常会涵盖基础语法、实例解析、调用方法、异常...

    oracle存储过程应用实例

    ### Oracle存储过程应用实例 #### 一、存储过程概述 存储过程是一种预先编写并编译好,存储在数据库中的程序代码。它能够接受输入参数,并根据这些参数执行一系列操作,最终返回结果。存储过程的优势在于它能够...

    oracle存储过程实例(1)

    下面,我们将深入探讨Oracle存储过程的关键概念,并通过一个具体的实例来理解其构建和执行流程。 ### Oracle存储过程概述 存储过程在数据库服务器上运行,可以包含控制流语句、变量定义、错误处理等结构,使其具备...

    oracleasm-support-2.1.8-1.el5.i386

    Oracle ASM(Automatic Storage Management)是Oracle公司推出的一种高级存储管理技术,它集成在Oracle数据库软件中,用于管理和优化数据存储。Oracle ASM为数据库提供了一种统一的、高性能的存储解决方案,能够自动...

    水晶报表连接oracle存储过程实例

    水晶报表连接Oracle存储过程实例 本文将详细介绍如何使用水晶报表连接Oracle存储过程实例,从而实现数据报表的自动化生成。我们将从创建 Oracle 存储过程开始,接着指导读者如何在水晶报表中应用该存储过程。 一、...

    rehl6.8-kmod-oracleasm-2.0.8-13.el6_8.x86_64

    4. 在安装过程中,需要遵循Oracle官方的指导文档,正确配置内核参数和ASM实例。 5. 安装完成后,通过`modprobe`命令加载kmod-oracleasm内核模块,然后使用oracleasmlib和oracleasm-support中的工具进行ASM卷的创建和...

    Oracle存储过程实例使用显示游标

    在本例中,“Oracle存储过程实例使用显示游标”着重展示了如何在存储过程中调用函数,并通过游标来处理和更新数据。 首先,我们需要了解存储过程的基本结构。一个存储过程通常包含以下部分: 1. **声明部分**:在...

Global site tag (gtag.js) - Google Analytics