解决方法一:加一个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中,存储过程可以接受输入参数、返回输出结果,并可以执行事务控制、异常处理等复杂的操作。下面将详细介绍Oracle procedure的一些关键知识点。 1. **创建存储过程**: 创建存储过程的基本语法如下: ```...
2. **异常处理**:通过`BEGIN...EXCEPTION...END`结构,可以捕获并处理运行时错误。 3. **返回值**:除了输出参数,存储过程还可以定义一个返回类型,用于返回单一的计算结果或状态。 4. **动态SQL**:通过`EXECUTE ...
C#的特点包括类型安全、垃圾回收、异常处理和丰富的类库。 2. **WinForms**: WinForms是.NET Framework的一部分,提供了一组控件和API,用于构建传统的Windows桌面应用程序。开发者可以通过拖放控件、编写事件处理...
### Oracle 存储过程 Exception 异常处理详解 #### 1. 异常处理概念 在 Oracle 存储过程中,异常处理是一项非常重要的技术,它能够帮助开发人员处理那些不可预见的情况,确保程序的健壮性和稳定性。异常处理主要...
在本篇讨论中,我们将深入理解Oracle游标、异常处理以及如何在存储过程中使用它们。 1. **Oracle游标**: - **定义**:Oracle游标是数据库系统提供的一种机制,用于在结果集中定位并处理单条记录。它实际上是一个...
异常处理是 PL/SQL 中的关键部分,Oracle 提供了一系列系统异常,如 `ACCESS_INTO_NULL`、`CASE_NOT_FOUND`、`COLLECTION_IS_NULL`、`CURSOR_ALREADY_OPEN`、`DUP_VAL_ON_INDEX`、`INVALID_CURSOR`、`INVALID_NUMBER...
2. **PL/SQL块**:包括声明部分(声明变量、游标等)、执行部分(执行SQL和控制流语句)和异常处理部分。 3. **循环和条件语句**:如`FOR`循环、`WHILE`循环以及`IF`、`ELSIF`和`ELSE`条件判断。 4. **游标**:用于...
除了基本的存储过程,Oracle还提供了存储函数、游标、异常处理、事务控制等高级特性。存储函数与存储过程类似,但直接返回一个值,无需输出参数。游标则允许在PL/SQL中逐行处理查询结果。异常处理使得程序能够优雅地...
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数据库中,`NO_DATA_FOUND`异常是当你执行一...选择哪种方法取决于你的具体需求,如代码的可读性、性能考虑以及对异常处理的偏好。在实际开发中,通常会结合使用这些策略,以实现更健壮和用户友好的应用程序。
异常处理使用`BEGIN...EXCEPTION...END`块,用于捕获和处理程序运行时可能发生的错误。流程控制结构如`IF...THEN...ELSE`、`FOR...LOOP`和`CASE`等,使得存储过程能根据条件执行不同的逻辑。 在实际编写和使用存储...
在本文中,我们将介绍 Oracle 存储过程的基本结构、参数传递方式、游标处理、异常处理等常用技巧。 一、存储过程的基本结构 一个 Oracle 存储过程通常由以下几个部分组成: 1. 创建语句:create or replace ...
- `EXCEPTION exception_handlers`:异常处理部分,用于捕获并处理运行时错误。 2. 调用Procedure 在PL/SQL环境中,你可以直接调用Procedure,无需`EXECUTE`或`CALL`关键字,如下所示: ```sql begin Proc_Insert...
存储过程可以包含异常处理部分,使用`BEGIN...EXCEPTION...END`结构。 3. **关于Oracle存储过程的若干问题备忘**: - 数据表别名不加`AS`是Oracle的一个特性,可以直接使用`alias column_name`。 - `SELECT`语句...
其中,BEGIN 关键词表明 PL/SQL 体的开始,执行语句是存储过程的主要执行部分,EXCEPTION 关键词表明异常处理部分,WHEN others THEN 是一个异常处理语句。 变量声明 在存储过程中,变量声明是必不可少的,格式为...
Oracle 存储过程的基础知识包括了解 Oracle 存储过程的基本语法、数据类型、变量声明、控制语句、循环语句、异常处理等方面的知识。 Oracle 存储过程的基本语法 Oracle 存储过程的基本语法主要包括 CREATE ...
在实际操作中,可能会遇到各种异常情况,因此还需要添加适当的异常处理逻辑,以确保程序的健壮性。 ```plsql EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN UTL_HTTP.END_RESPONSE(RESP); WHEN UTL_...
### Oracle异常处理详解 在Oracle数据库的PL/SQL编程中,异常处理是非常重要的一个环节,它可以帮助我们更好地控制程序流程,提高程序的健壮性和稳定性。本文将详细解析Oracle PL/SQL中的各种异常类型及其应用场景...