oracle数据库存储过程中NO_DATA_FOUND不起作用

1.首先创建一个表lengzijiantest,表中只有一个字段f_id

?
1
2
3
4
5
[cpp]
CREATE TABLE LENGZIJIANTEST 
  F_ID  NUMBER                                  NOT NULL 
)

2.插入一条数据

?
1
2
[cpp]
insert into lengzijiantest values (1)

3.现在表里面只有一条数据,值为1;

4.写入如下命令

?
1
2
3
4
5
6
7
8
9
10
11
12
13
[sql]
DECLARE 
   v_tmp   NUMBER := 0; 
BEGIN 
   SELECT f_id 
     INTO v_tmp 
     FROM lengzijiantest 
    WHERE f_id = 2; 
EXCEPTION 
   WHEN NO_DATA_FOUND 
   THEN 
      DBMS_OUTPUT.put_line ('找不到数据'); 
END;

5.因为数据库中只有1的数据,该条语句会打印出“找不到数据”;如果把sql写成如下方式,则不会打印“找不到数据”

?
1
2
3
4
5
6
7
8
9
10
11
12
13
[sql]
DECLARE 
   v_tmp   NUMBER := 0; 
BEGIN 
   SELECT min(f_id) 
     INTO v_tmp 
     FROM lengzijiantest 
    WHERE f_id = 2; 
EXCEPTION 
   WHEN NO_DATA_FOUND 
   THEN 
      DBMS_OUTPUT.put_line ('找不到数据'); 
END;

6.具体原因是由于在sql中使用了聚合函数,当使用聚合函数时,NO_DATA_FOUND是不起作用的,在这一点上也吃了小亏,不过问题不大,在此记录下问题。

oracle数据库存储过程中NO_DATA_FOUND不起作用解决相关推荐

  1. oracle 中的日志在处理,ORACLE在存储过程中记录日志的处理包

    Java开发过程中一般使用LOG4J来将程序的运行日志记录到文件中,在ORACLE存储过程中也需要记录日志,我将工作中自己整理的一个记录日志的包分享出来,其实很简单,希望大家多提意见. 一.表结构 为 ...

  2. 【AIO】使用ORACLE数据库存储过程发送企业微信群机器人消息

    前言 为了对标阿里系的钉钉,腾讯于2016年4月18日推出了企业微信 专注企业内部通讯(目前已加入客户管理及客户通讯功能),替代原有的RTX腾讯通 企业微信由于微信的生态及其易用性,已被很多企业使用, ...

  3. oracle数据库有哪些文件构成,Oracle数据库架构中包括几层?每层都有什么元素?...

    Oracle数据库架构中包括几层?每层都有 什么元素? 1 PL/SQL代表 A PROCEDURAL LANGUAGE/SQL B PROGRAM LANGUAGE SQL C POWER LANG ...

  4. Oracle数据库表中字段顺序的修改方法

    Oracle数据库表中字段顺序的修改方法 这篇文章主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介 ...

  5. 在oracle数据库表中没有添加rowid字段为什么会出现?

    rowid 是 oracle 数据库表中的伪列, rowid 首先是一种数据类型,它唯一标识一条记录物理位置, 基于64位编码的18个字符显示.因为 rowid 是伪列, 所以并未真的存储在表中,但可 ...

  6. oracle 表字段顺序_如何更改Oracle数据库表中字段顺序

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  7. 让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议...

    第2部分 数据库SQL语言 数据库存储过程中的重要表信息的保存及相关建议 1. 存储过程中的重要表信息的保存 在非常多存储过程中,会涉及到对表数据的更新.插入或删除等,为了防止改动之后的表数据出现故障 ...

  8. Oracle数据库查询表中记录为空,Empty result set fetched

    Oracle数据库查询表中记录为空,Empty result set fetched,此时没有数据,获取不到任何值,但是此时我们需要根据结果来做计算,因此可以使用count()函数来做结果统计,将统计 ...

  9. oracle清除执行计划,Oracle数据库9I中清除特定表相关执行计划案例

    天萃荷净 在9i中因为某个执行计划因为Oracle Peeking绑定变量的控制导致现有的执行计划不正确,需要清除掉这条sql语句的执行计划.在10g中提供了dbms_shared_pool.purg ...

最新文章

  1. 大学计算机专业全英文论文,5计算机专业 外文文献 英文文献 外文翻译 jsp应用框架 中英对照 大学学位论文.doc...
  2. 利用python爬虫与数据分析,打造最强玩法,轻松成为大神级玩家!
  3. nginx前端根据$remote_addr分发方法
  4. confluence中org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed的解决方法
  5. 034_Unicode标准
  6. oracle查找异常中断的sqlid方法,Oracle查找锁定对象以及强制解除锁定的方法
  7. SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel 试读版
  8. 《JavaScript100例|01》之javaScript实现俄罗斯方块,唤起了女朋友儿时的回忆!
  9. 【CodeForces - 144D】Missile Silos(单源最短路,枚举中间边,枚举情况可能性)
  10. LwIP应用开发笔记之十:LwIP带操作系统基本移植
  11. photorec_如何在Linux / Ubuntu中使用PhotoRec恢复已删除的文件
  12. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_07.环境搭建的注意事项
  13. 三、unaipp小程序二维码生成
  14. java查找PDF关键字坐标 并且标记出来
  15. gitee免费部署静态网站
  16. Oracle system identifier already exists specify another SID
  17. 【全开源+免费更新】doodoo.js快速入门教程
  18. js前置递增和后置递增
  19. 三、硬盘分类与操作系统的启动流程
  20. 深度学习中常见的10种激活函数(Activation Function)总结

热门文章

  1. C++ternary search三元搜索的实现算法(附完整源码)
  2. C语言字符串左右排序交换
  3. 安装python应该先安装pycharm还是python_Pycharm及python安装详细步骤及PyCharm配置整理(推荐)...
  4. 玩转Numpy——linspace()函数使用详解
  5. linux怎么查端口是否被占用,LINUX中如何查看某个端口是否被占用
  6. matlab求解复数方程组,【求解】matlab求解非齐次方程组,但是系数矩阵是复数,求帮忙...
  7. Kafka 常见命令行 Version 2.1.0
  8. Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误
  9. Mysql select into outfile NULL值导出的处理方法
  10. redis 获取所有key_Redis笔记