当前位置: 首页 > article >正文

ORACLE SELECT INTO 赋值为空,抛出 NO DATA FOUND 异常

例子:

DECLARE ORDER_NUM VARCHAR2(20);
BEGIN
SELECT S.ORDER_NUM INTO ORDER_NUM FROM SALES_ORDER S WHERE S.ID=122344;
DBMS_OUTPUT.PUT_LINE('单号:' || ORDER_NUM);
END;

在查询结果为空的情况下,以上代码会报错:未找到任何数据

解决方法:
改为 SELECT MAX(S.ORDER_NUM) INTO ORDER_NUM FROM SALES_ORDER S WHERE S.ID=122344;

SELECT S.ORDER_NUM 查不到数据情况下,一条结果也没有;但 SELECT MAX(S.ORDER_NUM) 不管是否查到数据,都会有一条结果。这是这条结果赋值给了变量,这才不会报错。

 


http://www.kler.cn/news/358867.html

相关文章:

  • Qt 静态库链接问题
  • 大模型应用涌现出的新工作机会-红队测试Red-teaming
  • k8s备份恢复工具--velero
  • 解锁新玩法 | 迅为龙芯3A5000升级UEFI,全面支持银河麒麟系统
  • 数据结构-排序算法
  • 企业搜索精排总结
  • C++中的继承(1)
  • 数组和字符串
  • MySQL的索引类型有哪些?
  • 基于Springboot+Vue的高校实验室智能管理系统(含源码数据库)
  • 上海媒体公关-邀请媒体现场报道专访宣传
  • 机器学习和深度学习之间区别和联系
  • STM32 ADC介绍
  • 代理模式、BigDecimal详解
  • OpenCL 在命令行中clinfo 信息
  • 弛张振荡器电路
  • 微信小程序-页面通信
  • 架构设计笔记-19-大数据架构设计理论与实践
  • 豆包大模型接口调用
  • 【合集】GPT国内外免费在线AI大模型,持续更新!