`
tooby
  • 浏览: 118257 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORACLE SELECT INTO NO_DATA_FOUND问题

    博客分类:
  • SQL
 
阅读更多

 

存储过程中使用了类似如下语句:

SELECT col

INTO v_col

FROM t_table

当查询不到记录时,会出现“数据未发现”的异常

 

解决方法:

(1)使用MAX函数

SELECT MAX(col)

INTO v_col

FROM t_table

(2) 使用异常处理

BEGIN

    SELECT col

    INTO v_col

    FROM t_table;

    EXCEPTION WHEN NO_DATA_FOUND THEN
           v_col:=0;

END;

分享到:
评论

相关推荐

    ORACLE NO_DATA_FOUND的三种处理办法

    在Oracle数据库中,`NO_DATA_FOUND`异常是当你执行一个SQL查询时,没有找到匹配的记录时抛出的。这个异常通常与PL/SQL编程有关,因为SQL查询在PL/SQL块(如游标、存储过程或函数)中运行。在处理`NO_DATA_FOUND`异常...

    oracle恢复工具-FY_Recover_Data

    insert into truntab1 select * from SYS.TRUNTAB1$$2 第八步:验证数据是否完全恢复 select count(*) from truntab1; --72622 至此,truncate掉的数据成功恢复,并且此方法也可以恢复drop table ...

    Oracle Exception汇总(自定义Oracle异常)

    1. **NO_DATA_FOUND** (ORA-01403): 当执行`SELECT INTO`语句时,如果没有返回任何数据,系统会抛出此异常。为了避免程序中断,可以使用`EXCEPTION WHEN NO_DATA_FOUND THEN`来捕获并处理这个异常。 2. **TOO_MANY_...

    oralce异常信息对照表

    预定义异常是Oracle系统预先定义好的,它们与SQL语句执行过程中可能遇到的错误相对应,如NO_DATA_FOUND(试图访问不存在的数据)、TOO_MANY_ROWS(SQL查询返回多于一行数据)等。用户自定义异常则由开发人员根据具体...

    oracle存储过程语法

    2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM...

    Oracle_10g_plsql实战笔记.doc

    - 使用 `EXCEPTION` 来处理 `NO_DATA_FOUND` 异常情况。 #### 七、总结 PL/SQL 是 Oracle 数据库的重要组成部分,它提供了丰富的编程功能,使得开发者能够在数据库内部编写复杂的应用逻辑。通过学习 PL/SQL 的基础...

    oracle自定义异常

    Oracle PL/SQL支持多种类型的异常,包括预定义异常(如`DUP_VAL_ON_INDEX`、`NO_DATA_FOUND`、`TOO_MANY_ROWS`等)和用户自定义异常。 #### 二、预定义异常介绍 - **DUP_VAL_ON_INDEX**:当试图插入一个重复键值到...

    Oracle_PL_SQL经典练习题.docx

    - `WHEN NO_DATA_FOUND`异常处理用于捕获未找到对应部门时的情况,输出提示信息。 3. **计算雇员总薪水**: - `%TYPE`属性允许创建与已有表列具有相同数据类型的变量,如`v_sal`。 - `SELECT sal+comm INTO v_...

    oracle存储过程

    记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; ... 3.IF 判断 IF V_TEST=1 ...

    Oracle PLSQL入门知识.doc

    SELECT DEPT_NO, DEPT_NAME FROM dept; ln_dno NUMBER; lvs_dname VARCHAR2(40); BEGIN OPEN c_dept; LOOP FETCH c_dept INTO ln_dno, lvs_dname; EXIT WHEN c_dept%NOTFOUND; DBMS_OUTPUT.PUT_LINE(TO_CHAR...

    oracle 存储过程的基本语法

    3. **异常处理**:通常会在`SELECT INTO`语句后添加异常处理块来处理`NO_DATA_FOUND`和`TOO_MANY_ROWS`异常。 示例: ```sql BEGIN SELECT col1, col2 INTO 变量1, 变量2 FROM typestruct WHERE xxx; EXCEPTION ...

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

    需要注意的是,如果查询结果为空或返回多行数据,则会抛出异常(分别为`NO_DATA_FOUND`和`TOO_MANY_ROWS`)。 **示例代码**: ```sql DECLARE 变量1 NUMBER; 变量2 DATE; BEGIN SELECT col1, col2 INTO 变量1, ...

    oracle存储过程基本用法

    为了防止 `NO_DATA_FOUND` 异常的发生,可以在执行 `SELECT INTO` 之前先使用 `COUNT(*)` 来检查是否存在数据。 ##### 示例12:处理多行数据错误 ```sql SELECT af.keynode INTO kn FROM APP_FOUNDATION af WHERE ...

    plsql编程之葵发宝典.txt

    使用BULK COLLECT时需要注意的一个细节是,当查询结果为空时不会引发NO_DATA_FOUND异常,这与普通的SELECT INTO语句有所不同。例如: ```sql DECLARE TYPE nt_ic01 IS TABLE OF ic01%ROWTYPE; l_nt_ic01 nt_ic01;...

    oracle declare.docx

    例如,`WHEN no_data_found THEN`处理的是`NO_DATA_FOUND`异常,表示查询未找到匹配的行。 2. 变量声明与赋值 在PL/SQL中,变量可以在声明时初始化,也可以在后续代码中赋值。例如: ```sql DECLARE v_c VARCHAR...

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

    FOR ply IN (SELECT DISTINCT c_ply_app_no FROM tb_ply_insrntparlist) LOOP BEGIN m_appplyno := ply.c_ply_app_no; i := 1; FOR ply_insrntparlist IN (SELECT * FROM tb_ply_insrntparlist WHERE c_ply_app...

    oracle异常及触发器.pptx

    预定义异常是 Oracle 提供的预定义错误类型,例如 Invalid_cursor、Cursor_already_open、No_data_found、Too_may_rows、Invalid_number 等。这些异常可以直接使用,不需要声明。 用户定义异常需要程序员自己定义...

    Oracle数据库游标使用大全

    - 当在PL/SQL块中使用`SELECT INTO`语句时,Oracle会自动使用隐式游标。隐式游标默认处理查询返回的第一行数据,并将其赋值给`INTO`子句中的变量。例如: ```sql DECLARE v_empno SCOTT.EMP.EMPNO%TYPE; v_...

    Oracle游标使用大全

    WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('Employee Number Not Found!'); ``` #### 七、总结 通过以上介绍可以看出,Oracle游标提供了灵活的方式来处理查询结果集,并支持多种复杂的数据库操作。无论是...

    ORACLE PL_SQL中的例外处理初探 (1).pdf

    SELECT column INTO variable FROM table WHERE condition; EXCEPTION WHEN NO_DATA_FOUND THEN -- 处理没有找到数据的情况 DBMS_OUTPUT.PUT_LINE('No data found for the given condition.'); END; ``` 在处理...

Global site tag (gtag.js) - Google Analytics