`
xurichusheng
  • 浏览: 341657 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

存储过程中异常的使用_示例

SQL 
阅读更多

 

存储过程中异常的使用_示例

 

CREATE OR REPLACE PROCEDURE UPDATE_SAL(E_NAME IN VARCHAR2, E_SAL IN NUMBER) IS
  /** 声明异常 */
  NOT_FOUND EXCEPTION;
BEGIN
  /** 更改指定ename对应的工资 */
  UPDATE EMP E SET E.SAL = E_SAL WHERE LOWER(E.ENAME) = LOWER(E_NAME);

  IF SQL%NOTFOUND THEN
    /** 如果E_NAME不存在,数据回滚,并抛出异常 */
    ROLLBACK;
    RAISE NOT_FOUND;
  ELSE
    /** 如果E_NAME存在,事务提交 */
    COMMIT;
    DBMS_OUTPUT.PUT_LINE('update sal success');
  END IF;
EXCEPTION
  WHEN NOT_FOUND THEN
    /** E_NAME不存在抛出的异常 */
    DBMS_OUTPUT.PUT_LINE('there is not name ' || E_NAME || ' exits');
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('others exception');
END;
/
 

存储过程的调用:

 

1. exec update_sal('scott1',3333);
    
     打印的信息 : there is not name scott1 exits

2. exec update_sal('scott',3333);

      打印的信息 : update sal success
   

 

 

分享到:
评论

相关推荐

    最权威的Orcale存储过程示例

    在Oracle中,存储过程可以包含SQL查询、控制流语句、变量声明、游标以及异常处理等元素,这使得它们成为处理复杂业务逻辑的理想选择。创建存储过程通常包括以下几个步骤: 1. **定义过程结构**:使用`CREATE OR ...

    C# 应用SQL存储过程_添加_修改_删除_查询数据

    在`Ex10_05应用存储过程添加数据`示例中,你可能会发现一个C#方法,它使用ADO.NET的SqlCommand对象来执行存储过程。存储过程通常会接收输入参数,这些参数在C#中作为SqlCommand对象的Parameters集合添加。例如,你...

    利用存储过程分页的示例

    1. **参数化查询**:虽然示例中的存储过程采用了动态SQL的方式,但在实际应用中应尽量使用参数化查询,以减少SQL注入的风险。 2. **性能考虑**:对于大型数据表,应当考虑使用索引来优化查询性能。 3. **异常处理**...

    oracle_存储过程的基本语法_及注意事项

    循环结构在Oracle存储过程中使用`WHILE`关键字来实现。需要注意的是,`WHILE`循环的条件需要放在`LOOP`关键字之后进行判断。 **示例代码**: ```sql DECLARE V_TEST NUMBER := 1; BEGIN WHILE V_TEST = 1 LOOP -...

    Oracle存储过程基本语法及示例

    下面将详细介绍Oracle存储过程中的一些基本语法和常用示例。 #### 1. 创建存储过程的基本语法 存储过程的基本创建语法如下: ```sql CREATE OR REPLACE PROCEDURE procedure_name ( parameter1 IN data_type, ...

    疯狂Java讲义_示例代码

    5. **集合框架**:Java集合框架包括List、Set、Map接口和它们的实现类,如ArrayList、LinkedList、HashSet、HashMap等,这些示例代码将帮助你理解如何在实际项目中存储和操作数据。 6. **多线程**:Java内置对多...

    商业编程-源码-使用ADO处理存储过程源代码 stored_proc_using_ado.zip

    通过学习和分析这些源代码,开发者可以掌握如何在商业应用中有效地使用ADO来调用和管理存储过程,从而提高代码的性能和可维护性。同时,了解如何处理数据库交互中的异常情况和事务管理,也是确保系统稳定运行的关键...

    通用分页存储过程--UP_GetRecordByPage

    文件可能还包含使用示例、返回值解释或其他相关的注释信息,帮助开发者理解和使用这个存储过程。 总之,`UP_GetRecordByPage`是一个旨在简化数据库分页查询的通用存储过程,它提升了代码复用性和效率,减少了数据库...

    ORACLE 游标 异常 存储过程

    在本篇讨论中,我们将深入理解Oracle游标、异常处理以及如何在存储过程中使用它们。 1. **Oracle游标**: - **定义**:Oracle游标是数据库系统提供的一种机制,用于在结果集中定位并处理单条记录。它实际上是一个...

    C#调用存储过程示例

    这个示例展示了如何在C#中调用名为`TestProc`的存储过程,传递一个输入参数并获取一个输出参数。请根据实际的存储过程参数和逻辑进行调整。在实际应用中,你可能还需要处理异常,以及根据需求选择适当的数据库连接池...

    java调用存储过程示例

    本示例将深入探讨如何使用Java来调用存储过程,并处理返回的结果。存储过程是预编译的SQL语句集合,可以提高性能、安全性,并减少网络流量。 首先,确保你已经安装了JDBC驱动,这是Java连接数据库的基础。例如,...

    DOA访问Oracle存储过程.rar_DOA_oracle_存储过程

    8. **DOA访问Oracle存储过程**:这个文件可能是具体的实现代码或文档,解释了如何在实际项目中使用DOA来调用Oracle存储过程。它可能包含了示例代码片段、配置说明和最佳实践。 综上所述,DOA访问Oracle存储过程是...

    在java中使用存储过程

    在Java中使用存储过程涉及到多个知识点,包括数据库连接、CallableStatement接口的应用以及具体的SQL语句调用等。本文将从这些方面入手,详细介绍如何在Java应用程序中调用存储过程。 ### 一、数据库连接 #### 1.1...

    C# 存储过程ppt 加示例

    本资料“C# 存储过程ppt 加示例”显然关注的是如何在C#应用程序中有效地使用存储过程,以及相关的实践案例。 一、存储过程的概念与优点 存储过程可以视为数据库中的可执行对象,它可以提高数据操作的效率,因为它们...

    VB.NET 2008调用SQL存储过程并返回值示例

    本示例将深入讲解如何在VB.NET中调用存储过程,包括参数传递、接收返回值、处理存储过程中的错误以及控制流程。 首先,我们需要创建一个连接到SQL Server数据库的对象。这可以通过`SqlConnection`类实现,提供...

    Oracle储存过程包加解密实现

    同时,数据库的审计功能也可以用来监控对加密储存过程的使用情况,以便及时发现异常行为。 总之,Oracle的DBMS_CRYPTO和DBMS_METADATA工具包提供了强大的功能来实现储存过程的加解密,帮助保护敏感信息。正确实施...

    Sybase存储过程的建立和使用

    - **错误处理**:在存储过程中捕获异常,并进行相应的错误处理。 总之,Sybase存储过程是一种强大的工具,能够显著提高SQL Server数据库应用程序的性能和可维护性。合理地设计和使用存储过程,可以充分发挥其优势,...

    sqlserver存储过程

    对于其他用户使用的存储过程,特定语句中的对象名必须用所有者名称限定,如`ALTER TABLE`等,以确保正确的访问权限。 #### 加密过程定义 使用`WITH ENCRYPTION`子句可以加密存储过程定义,保护其免遭窥视。加密后...

    Oracle_PLSQL_存储过程

    2. **SELECT INTO 语句:** 在存储过程中使用`SELECT INTO`语句时,必须确保数据库中有对应的记录,否则会抛出`NO DATA FOUND`异常。 3. **别名与字段名冲突:** 在存储过程中,别名不能与字段名称相同,否则在运行...

Global site tag (gtag.js) - Google Analytics