`
wenjinglian
  • 浏览: 820551 次
  • 性别: Icon_minigender_1
  • 来自: 株洲->深圳
社区版块
存档分类
最新评论

oracle procedure 异常处理

阅读更多

 

解决方法一:加一个exception异常处理

  exception when no_data_found then

    ....

 

解决方法二:更改select语句,如:

  select count(*) field into var from table where ....

增加一个count(*)即使没有找到数据,也会返回0,而不是null。

 

 

转贴:http://www.itpub.net/thread-821395-1-1.html

 

请问:在执行以下语句时报错。
declare
        v_spec     varchar2(255);
begin
     for r in (select subne.id, subne.subneassetid from subne where subne.subneassetid >0)
     loop
            select subnetype.subnemodel into v_spec from subnetype , subne
                   where  subne.id = r.id and subne.subnetypeid = subnetype.id;
            update asset set specformula = v_spec where id = r.subneassetid and specformula is null;
     end loop;
end;

ORA-01403: 未找到数据
ORA-06512: 在line 6

 

加个独立的块,
begin
select subnetype.subnemodel into v_spec from subnetype , subne
where subne.id = r.id and subne.subnetypeid = subnetype.id;
update asset set specformula = v_spec where id = r.subneassetid and specformula is null;
exception 
when no_data_found then
   null;
end;

这样在no_data_found时,循环就不会跳出了!

 

 


分享到:
评论

相关推荐

    几个Oracle procedure实例

    在Oracle中,存储过程可以接受输入参数、返回输出结果,并可以执行事务控制、异常处理等复杂的操作。下面将详细介绍Oracle procedure的一些关键知识点。 1. **创建存储过程**: 创建存储过程的基本语法如下: ```...

    Oracle-procedure.rar_oracle_oracle procedure_oracle 存储过程

    2. **异常处理**:通过`BEGIN...EXCEPTION...END`结构,可以捕获并处理运行时错误。 3. **返回值**:除了输出参数,存储过程还可以定义一个返回类型,用于返回单一的计算结果或状态。 4. **动态SQL**:通过`EXECUTE ...

    C#写的WinForm版执行Oracle Procedure的工具源码

    C#的特点包括类型安全、垃圾回收、异常处理和丰富的类库。 2. **WinForms**: WinForms是.NET Framework的一部分,提供了一组控件和API,用于构建传统的Windows桌面应用程序。开发者可以通过拖放控件、编写事件处理...

    Oracle_存储过程exception异常处理大全及实例经典最终.docx

    ### Oracle 存储过程 Exception 异常处理详解 #### 1. 异常处理概念 在 Oracle 存储过程中,异常处理是一项非常重要的技术,它能够帮助开发人员处理那些不可预见的情况,确保程序的健壮性和稳定性。异常处理主要...

    ORACLE 游标 异常 存储过程

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

    全面解析Oracle Procedure 基本语法

    异常处理是 PL/SQL 中的关键部分,Oracle 提供了一系列系统异常,如 `ACCESS_INTO_NULL`、`CASE_NOT_FOUND`、`COLLECTION_IS_NULL`、`CURSOR_ALREADY_OPEN`、`DUP_VAL_ON_INDEX`、`INVALID_CURSOR`、`INVALID_NUMBER...

    ORACLE-Procedure.rar_oracle

    2. **PL/SQL块**:包括声明部分(声明变量、游标等)、执行部分(执行SQL和控制流语句)和异常处理部分。 3. **循环和条件语句**:如`FOR`循环、`WHILE`循环以及`IF`、`ELSIF`和`ELSE`条件判断。 4. **游标**:用于...

    oracle存储过程教程

    除了基本的存储过程,Oracle还提供了存储函数、游标、异常处理、事务控制等高级特性。存储函数与存储过程类似,但直接返回一个值,无需输出参数。游标则允许在PL/SQL中逐行处理查询结果。异常处理使得程序能够优雅地...

    Oracle_Procedure

    Oracle PL/SQL提供了异常处理机制,可以在存储过程中捕获和处理错误。例如: ```sql EXCEPTION WHEN ZERO_DIVIDE THEN DBMS_OUTPUT.PUT_LINE('Error: Division by zero'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_...

    Oracle存储过程、函数和包

    - **错误处理**:利用存储过程中的异常处理机制,可以更好地管理和捕获运行时错误。 总结来说,存储过程和函数在Oracle数据库中是非常强大的工具,它们不仅可以帮助开发者提高代码的复用性和维护性,还可以通过...

    ORACLE NO_DATA_FOUND的三种处理办法

    在Oracle数据库中,`NO_DATA_FOUND`异常是当你执行一...选择哪种方法取决于你的具体需求,如代码的可读性、性能考虑以及对异常处理的偏好。在实际开发中,通常会结合使用这些策略,以实现更健壮和用户友好的应用程序。

    2022oracle存储过程procedure秘籍借鉴.pdf

    异常处理使用`BEGIN...EXCEPTION...END`块,用于捕获和处理程序运行时可能发生的错误。流程控制结构如`IF...THEN...ELSE`、`FOR...LOOP`和`CASE`等,使得存储过程能根据条件执行不同的逻辑。 在实际编写和使用存储...

    oracle存储过程常用技巧

    在本文中,我们将介绍 Oracle 存储过程的基本结构、参数传递方式、游标处理、异常处理等常用技巧。 一、存储过程的基本结构 一个 Oracle 存储过程通常由以下几个部分组成: 1. 创建语句:create or replace ...

    oracle中的procedure编写和使用详解

    - `EXCEPTION exception_handlers`:异常处理部分,用于捕获并处理运行时错误。 2. 调用Procedure 在PL/SQL环境中,你可以直接调用Procedure,无需`EXECUTE`或`CALL`关键字,如下所示: ```sql begin Proc_Insert...

    2022oracle存储过程procedure秘籍参照.pdf

    存储过程可以包含异常处理部分,使用`BEGIN...EXCEPTION...END`结构。 3. **关于Oracle存储过程的若干问题备忘**: - 数据表别名不加`AS`是Oracle的一个特性,可以直接使用`alias column_name`。 - `SELECT`语句...

    Oracle存储过程基本语法

    其中,BEGIN 关键词表明 PL/SQL 体的开始,执行语句是存储过程的主要执行部分,EXCEPTION 关键词表明异常处理部分,WHEN others THEN 是一个异常处理语句。 变量声明 在存储过程中,变量声明是必不可少的,格式为...

    oracle存储过程学习经典入门

    Oracle 存储过程的基础知识包括了解 Oracle 存储过程的基本语法、数据类型、变量声明、控制语句、循环语句、异常处理等方面的知识。 Oracle 存储过程的基本语法 Oracle 存储过程的基本语法主要包括 CREATE ...

    oracle传入一个字符串,调用webservice

    在实际操作中,可能会遇到各种异常情况,因此还需要添加适当的异常处理逻辑,以确保程序的健壮性。 ```plsql EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN UTL_HTTP.END_RESPONSE(RESP); WHEN UTL_...

    oracle例外处理

    ### Oracle异常处理详解 在Oracle数据库的PL/SQL编程中,异常处理是非常重要的一个环节,它可以帮助我们更好地控制程序流程,提高程序的健壮性和稳定性。本文将详细解析Oracle PL/SQL中的各种异常类型及其应用场景...

Global site tag (gtag.js) - Google Analytics