【EXCEPTION_INIT】自定义错误名称并关联错误号

Apache Paimon-实时数据湖 Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。Flink 社区内部孵化了 Flink Table Store (简称 FTS )子项目,一个真正面向 Streaming 以及 Realtime的数据湖存储项目。 阅读详情

EXCEPTION_INIT可以把自定的错误名称和Oracle内部错误号关联起来,这样就可以在程序异常处理部分按错误名称抛出异常。

需要注意,EXCEPTION_INIT命令必须在声明部分定义。下面是一个例子:

dept_bak表的deptno字段时number类型,长度为2,如果向的deptno中插入一个过长字段,比如9999,就会报错:

ORA-01438:value larger than specified precision allowed for this column.

为了代码的可读性,此处可以定义名为invalid_deptno的异常,当输入过长字段时把错误的数据插入到dept_t表中,下面是代码:

CREATE OR REPLACE PROCEDURE test_ins (p_deptno NUMBER,
                                      p_deptname VARCHAR2,
                                      p_loc VARCHAR2)
IS 
   invalid_deptno EXCEPTION;
   PRAGMA exception_init(invalid_deptno,-1438);
BEGIN
  INSERT INTO dept_bak VALUES (p_deptno,p_deptname,p_loc);
  COMMIT;
EXCEPTION
  WHEN invalid_deptno THEN
    INSERT INTO dept_t VALUES (p_deptno,p_deptname,p_loc);
    COMMIT;
END test_ins;

 

Altium Designer(AD24/25)导出DXF或DWG结构文件的方法 DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导出DXF或DWG结构文件的方法。 阅读详情

相关推荐

QT串口通信控制LED上位机开发教程

串口通信是嵌入式系统与PC端交互的基础技术,通过UART协议实现设备间的数据传输。QT框架提供了跨平台的串口编程支持,结合其GUI模块可以快速开发上位机控制程序。在工业自动化和物联网领域,这种上下位机架构广泛应用于设备监控和控制场景。本案例展示了如何使用QT的SerialPort模块实现LED控制功能,包含串口参数配置、指令发送等核心功能实现,为嵌入式GUI开发提供实践参考。

weixin_42598278的博客 583

oracle exception_init,Oracle pragma 举例:exception_init

PRAGMA是一个编译指示(或命令)。编译指示在编译时被处理,它们不在运行时执行。编译指示是对编译程序发出的特殊指令。它也称为伪指令(pseudoinstruction),不会改变程序的含义。它只是向编译程序传递信息 ,实际上它是非常类似于嵌在 SQL 语句的注释中的性能调整提示。EXCEPTION_INIT:将一个特定的错误号与程序中所声明的异常标示符关联起来。示例:PRAGMA EXCEPTI...

weixin_42231590的博客 346

从零开始构建高精度称重系统:ADS1232硬件设计与软件调优实战

本文详细介绍了如何基于TI的ADS1232 24位ADC芯片构建高精度称重系统,涵盖硬件设计、软件调优及校准算法。通过优化电源设计、PCB布局和卡尔曼滤波算法,实现毫克级测量精度,适用于工业自动化和实验室等高要求场景。

weixin_28285943的博客 382

Oracle PL/SQL开发基础(第三十三弹:EXCEPTION_INIT)

如果有一些异常并没有异常名称,比如一些ORA-开头的异常并没有一个友好的预定义的异常定义,此时在WHEN子句中无法使用具体的异常名称,必须要使用OTHERS异常处理器进行捕捉。通过EXCEPTION_INIT编译指示,可以为这些不在预定义异常范围内的异常添加名称。编译指示是指能在编译期而非运行时进行处理的编译指令。编译指令EXCEPTION_INIT将告诉编译器,将异常名称和错误编号关联起来,使得在

艺术就是爆炸的专栏 2104

二阶FLL辅助三阶PLL环路的代码解读

今天对GNSS接收机里面的载波跟踪环路代码进行了解读 以下是个人的一点见解 % 载波环第二步:环路滤波器 二阶FLL辅助三阶PLL环路 carrLoopS0 = lastCarrLoopS0 + (phaseErr*tau0PLL + freqErr*tau1FLL) * PDIcarr; carrLoopS1 = lastCarrLoopS1 + (tau1PLL*phaseErr + carrLoopS0 + tau2FLL*freqErr) * PD

LWN7321的博客 2631

若依集成mybatisplus、兼容旧分页【亲测有效】

service类继承ServiceImpl类 实现 你的Service接口。hutool工具包和lombok工具包如果不需要的话可以自行删除并修改后面的类里面的代码。自带的pagehelper用的1.4.6里面的jsqlparser用的4.5.0。mybatis-plus用的3.4.2里面的jsqlparser用的4.0.0。jsqlparser包,不剔除是这样的,有个冲突,我用的前端写的请求,返回的格式和原来的一样,已兼容。你的Entity类上面需要增加表的名字。

lh155136的博客 3566

oracle exception_init,Oraclepragma举例:exception_init

PRAGMA是一个编译指示(或命令)。编译指示在编译时被处理,它们不在运行时执行。编译指示是对编译程序发出的特殊指令。它也称为伪PRAGMA是一个编译指示(或命令)。编译指示在编译时被处理,它们不在运行时执行。编译指示是对编译程序发出的特殊指令。它也称为伪指令(pseudoinstruction),不会改变程序的含义。它只是向编译程序传递信息 ,实际上它是非常类似于嵌在 SQL 语句的注释中的性能...

weixin_31707171的博客 269

yolov8涨点系列之轻量化主干网络替换

yolov8涨点系列之轻量化主干网络替换,以EfficientVit为例

zhang1379的博客 2887

pragma exception_init使用

最近做一个数据检查的程序,程序的实现是不停读取配置表中的表,检查数据是否已存在,但最近程序经常会报ora-08103(网上资料说与oracle版本相关),导致整个程序无法执行,我需要的只是报错的不执行,直接跳到下一语句。 可以利用pragma exception_init对错误代码进行命名,在报错的语句块中,嵌套一个begin..end语句块。 pragma exception_init说

雪影零星 4889

从零开始学习PX4源码9(部署px4源码到gitee)

由于PX4-Autopilot托管在github,在没有翻墙的情况下,下载固件无法下载。为了提高下载速度,这里将PX4在github上的仓库以及其子仓库(依赖仓库)都搬移到gitee上了。本教程讲解如何快速部署px4固件到gitee上,实现不需要翻墙快速本地就可以下载PX4固件。暂时没有找到如何批量直接通过修改.gitmodules后,使用什么命令可以直接把所有的一级二级子模块的指向直接正常映射。!!

陌城烟雨 813

19、多项式基算术:原理与运算详解

本文深入探讨了有限域 $GF(2^m)$ 中的多项式基算术,详细介绍了加法、减法、乘法和平方运算的原理与实现方法。重点分析了多项式基表示形式、模约简技术以及乘法优化策略,如高基数乘法、并行与顺序乘法器设计,并提到了Karatsuba-Ofman算法在减少乘法次数方面的优势。此外,文章还讨论了多项式基算术在密码学、编码理论等领域的应用前景,并展望了未来在高效算法设计与硬件加速方面的研究方向。

yellow的专栏 150

PRAGMA EXCEPTION_INIT的用法

 PRAGMA EXCEPTION_INIT的用法PRAGMA EXCEPTION_INIT的用法如果要处理未命名的内部异常,必须使用OTHERS异常处理器或PRAGMA EXCEPTION_INIT 。PRAGMA由编译器控制,或者是对于编译器的注释。PRAGMA在编译时处理,而不是在运行时处理。EXCEPTION_INIT告诉编译器将异常名与ORACLE错误码结合起来,这样可以

Wang Gang's Oracle and Linux的专栏 1万+

【华为OD机试真题 Python语言】371、增强的strstr | 机试真题+思路参考+代码解析(E卷复用)

>C语言有一个库函数: char *strstr(const char *haystack,const char *needle) ,实现在字符串haystack中查找第一 次出现字符串needle的位置,如果未找到则返回null >  现要求实现一个strstr的增强函数,可以使用带可选段的字符串来模糊查询,与strstr一样返回首次查找到的字符串位置 >  可选段使用"[]"标识,表示该位置是可选段中任意一个字符即可满足匹配条件,比如"a[bc]"表示可以匹配"ab"或"ac" >&

KJ.JK 2607

Oracle pragma 举例:exception_init

PRAGMA是一个编译指示(或命令)。编译指示在编译时被处理,它们不在运行时执行。编译指示是对编译程序发出的特殊指令。它也称为伪指令(pseudoinstruction),不会改变程序的含义。它只是向编译程序传递信息 ,实际上它是非常类似于嵌在 SQL 语句的注释中的性能调整提示。         EXCEPTION_INIT:将一个特定的错误号与程序中所声明的异常标示符关联起来。

大龄程序员 4861

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Oracle PRAGMA EXCEPTION_INIT

看书看到pragma exception_init(e_integrity, -2291); 感到很难以理解 翻了一下oracle PLSQL_User_Guide_and_Reference 引用http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#917 原来有些oracle err

夺宝奇兵的专栏 1570

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

plsql之pragma exception_init

---建立create or replace procedure proc_exception_initasmy_test_exception exception;--pragma为编译器指令 exception_init有2个...

474

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

oracle获取exception,Oracle Exception

BEGINSELECT ...SELECT ...SELECT ......EXCEPTIONWHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors2、异常的分类有两种类型的异常,一种为内部异常,一种为用户自定义异常,内部异常是执行期间返回到PL/SQL块的ORACLE错误或由PL/SQL代码的某操作引起的错误,如除数为零或内存溢...

weixin_30725317的博客 337

Oracle预定义的Exception

在PL/SQL代码中,我们除了可以使用Oracle预定义的Exception,还可以自定义属于自己的异常。但是,使用自定义异常要注意的是,异常的声明、定义和抛出场景,都是要编写者手工自己完成。   声明异常类型变量   PL/SQL中,异常Exception可以作为一种变量类型使用。如果需要使用自定义异常,则首先需要在declare声明段中声明出异常类型变量。声明使用EXCEPTION关键

kf_panda 944

Oracle PL/SQL异常处理

Oracle的exception_init编译指令 当在Oracle的PL/SQL中用raise_application_error的方式抛出异常(自定义),进行异常处理的时候需要将抛出的错误号和自定义的异常关联起来,否则程序无法根据异常名称引用具有特定错误号的异常; 这个时候可以使用编译指令将错误名称和Oracle的错误编号关联起来,就可以编写错误处理程序了;

天徵崖 1057

plsql的异常提示怎么定位_plsql的错误信息与异常处理

7 错误消息与异常处理7.1 异常的介绍(1) 处理异常分为三个步骤:A 声明异常B 引发异常C 处理异常(2) 异常的特征A 错误类型: ORA-xxxxx 运行时错误PLS-xxxxx 编译错误B 错误代码:xxxxxC 错误的文本描述案例1:编译错误的案例PLSSQL> create or replace procedure p1 is2 begin3 null;4 end;...

weixin_42169971的博客 2992

PL/SQL之二 异常处理

PL/SQL 异常处理,是非常重要的一部分,它可以让我们更好的捕促错误,更好的调试代码。

Orcl 584

oracle自定义异常

不声明异常,使用使用raise_application_error抛出只有错误数字(-20999,-20000)和错误信息的异常,不能通过名称捕获,可以通过错误的数字得到自定义的异常信息。 declare v_bool ...

cks26790的博客 191

PL/SQL 异常高级概念

做好了准备想要接受难一点的概念,结果发现,其实这一章很水。 1. raise_application_error raise_application_error 是Oracle提供的一种特殊的内置过程,允许程序员为特定应用程序创建有意义的错误消息,也即自定义。语法如下: raise_application_error(error_number,error_message); or rai

Kingsley的博客 358

Oracle数据库(四):异常处理

目录 声明异常 抛出异常 捕获异常 异常名称和错误代码关联 如果PL/SQL发生了错误,就会抛出一个异常,当前PL/SQL块中执行单元就会暂停处理,如果当前块有一个异常处理单元的话,控制会转移到当前块的异常处理单元来处理异常。完成了异常处理后就不能再返回当前块,相反,控制会转移到外层包围块,如果有的话。有时候,需要的是如果发生异常,还是希望程序继续执行后续的代码。解决的方法是: be...

fyk的博客 3905

Oracle PL/SQL Programming 第6章:Exception Handlers 读书笔记

Oracle PL/SQL Programming 第6章:Exception Handlers 读书笔记

In-Memory Computing Technology 2145

oracle自定义异常标量,oracle自定义异常

不声明异常,使用使用raise_application_error抛出只有错误数字(-20999,-20000)和错误信息的异常,不能通过名称捕获,可以通过错误的数字得到自定义的异常信息。declarev_bool boolean := true;beginif v_bool thenraise_application_error(-20000, 'abc');elseraise_applicat...

weixin_31328555的博客 234
上一篇: 【Shell】按关键字查找某个字符
下一篇: 【Shell】压缩相关命令
卜塔
博客等级 码龄10年 135粉丝 318原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值