首页
学习
活动
专区
圈层
工具
发布

nested exception is java.sql.SQLSyntaxErrorException: ORA-02289: 序列不存在(详细讲解)

nested exception is java.sql.SQLSyntaxErrorException: ORA-02289: 序列不存在(本人详细的讲解本人处理的经过结果) 这是我报错的idea的conslie...很明显可以看出来,只是自己懒得看 不愿意去看; 重点就在这:下面详细解释下这段话 SELECT seq_sys_file_info.NEXTVAL as fileId FROM DUAL DUAL :是oracle...数据库中的虚拟表,并不是真实存在的 XX_id_seq:这个是我们创建序列时自定义的一个序列名称 (seq_sys_file_info 我的是这个) seq_sys_file_info.nextval...他是不存在,所有肯定拿不到; 下面就开始报错了 所有清楚了 为什么会有问题;解决起来就比较舒服了; 下面我们去到数据库;我的是oralce 打开库找到序列: 上面是我新增后的 之前并么有seq_sys_file_info...; 执行成功了; 运行下看看: 成功了; 希望可以帮助大家; 我这这里详细介绍的不是这个解决问题; 是希望大家有一个好思路,认真去想问题,自己可以一步一步的解决问题,为什么会有这个错误

62110

如何找到抛出ORA-00933错误的SQL

,明显是应用写的SQL出现了错误导致的,但是因为未将出错的SQL打印到日志中,所以不知道究竟是什么SQL出错了,由于逻辑中涉及到很多的SQL,逐个排查,非常耗时。...ORA-00933,意思是“SQL command not properly ended”,明显是SQL的语法出现错误,但是现在的问题,就是如何找到错误的SQL?...(); PL/SQL procedure successfully completed....,碰巧解析错误的会执行多次,可能瞬时导致磁盘空间压力,因此Oracle中任何的event,我们在使用前,一定要知道他的副作用,避免带来影响。...其中一项,就是应用执行错误的SQL语句需要打印到应用日志中,包括SQL原文、报错信息、参数等,一方面为监控报警提供数据,另一方面便于问题的排查。

3.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle PLSQL中异常高级特性

    在OraclePL/SQL语句块中exception的异常处理部分是非常重要的组成部分,它决定了在PL/SQL语句块内部可执行部分在发生异常错误时,程序是友好地提示:程序遇到某些错误而无法执行,还是抛出一堆难以理解的...本文只介绍3中PL/SQL异常的三种高级形态,用于解决Oracle内置异常过少,很多时候不能够满足实际的使用需求。...当我们输入存在的员工编号时,程序能够正常返回结果;如果输入不存在ID,则select into语句会抛出没有返回行,进而使程序进入异常处理部分(本部分为举例),程序同样执行成功;当输入一个负数时,if条件语句就会进入到...PL/SQL procedure successfully completed.  - 这下抛出的错误就容易理解多了。...在异常处理部分,我们使用了一个PL/SQL语句块来处理这个错误,声明两个变量,并将SQLCODE和SQLERRM以字面值赋值的方法给这两个变量。

    1K10

    PLSQL --> 异常处理(Exception)

    Exception是一种PL/SQL标识符,当运行的PL/SQL块出现错误或警告,则会触发异常处理。...1.预定义异常 ORACLE定义了他们的错误编号和异常名字,常见的预定义异常处理Oracle常见的错误 NO_DATA_FOUND SELECT ... INTO ......二、异常处理 PL/SQL中,异常处理按个步骤进行: 定义异常 抛出异常 捕获及处理异常 a.定义异常 exception_name EXCEPTION; b.抛出异常 RAISE exception_name...错误没有任何关系,有开发人员为特定情况所定义的例外 下面的例子中当输入empno为时,尽管该雇员编号不存在,但PL/SQL代码并未给出适当的提示 scott@ORCL> declare 2 e_integrity...从Oracle 10g开始,在编写PL/SQL子程序之前开发人员可以激活警告检查.

    2.3K10

    SQL基础--> 序列(SEQUENCE)、同义词(SYNONYM)

    =============================== 一、序列 是一个Oracle对象,提供唯一的数字,在需要时根据指定的增量值来递增,通常用于产生主键值 类似于SQL server中的IDENTITY...序列缓存与否(默认NOCACHE) 关于创建序列,使用序列所需要的权限请参考:Oracle 用户、对象权限、系统权限 --创建一个序列 SQL> CREATE SEQUENCE my_seq...查看序列当前的有效值 --当第一次使用序列时指定了currval列,结果出现如下错误提示 SQL> SELECT my_seq.currval FROM dual; SELECT my_seq.currval...--出现了下面的错误,怀疑是授权的问题 SQL> INSERT INTO robinson.dept(deptno,dname,loc) 2 VALUES(my_seq.currval,'Customers...SQL> DROP SEQUENCE my_seq; Sequence dropped 8.创建序列的详细语法:CREATE SEQUENCE 二、同义词 是Oracle对象的别名,使用同义词访问相同的对象

    1.9K20

    Oracle数据库,浅谈PLSQL异常处理

    众所周知,程序的错误一般情况下分为两类:编译错误和运行时错误。其中运行时错误被称为异常。PL/SQL语句块中处理异常的部分即为异常处理部分。在异常处理部分,可以指定当特定异常发生时所采取的动作。...本文我们就来聊一聊PL/SQL异常处理的那些事儿。 ? PL/SQL有两种类型的异常:内置异常和用户自定义异常。其中,内置异常又分为预定义异常和非预定义异常。...当输入的员工编号存在时,输出员工姓名,当员工编号不存在时,会有运行错误。...PL/SQL procedure successfully completed....这时可以通过EXCEPTION_INIT编译指令进行错误代码和名称的关联。当PL/SQL语句块的可执行部分出现某个运行错误时,会抛出不同类型的异常。

    1.1K20

    解决导入过程中出现的ORA-02289错误

    看看ORA-02298的错误描述,因为存在独立的字节点记录,导致生效约束操作报错, ? 通俗一些,就是子表外键对应的主表主键/唯一约束键值不存在,所以此时无法生效外键约束。...主表不存在id=2这条记录,但子表中存在外键字段id_a=2的这条记录,只是由于disable了约束所以才可以insert,但实际此时是无法enable约束,这和上面执行impdp的效果相同, ?...使用如下SQL,可以根据子表名称和子表外键约束名称,自动拼接出需要删除子表非法数据的SQL语句,复制出来继续执行就行, SELECT ' delete from '  || a.table_name...脚本, https://github.com/bisal-liu/oracle/blob/832c9c34c068981405a68bae55de885d78cf7bca/solve_illegal_constraint_data...解决ORA-02289错误,要理解其本质,即子表外键值存在不属于主表主键/唯一约束键的情况。 2. 一种方法是手工删除子表中存在的非法数据,保证主子表关系正确。 3.

    2.1K40

    Oracle-PLSQL学习

    本文链接:https://blog.csdn.net/wangtongxue123456/article/details/79681868 PLSQL PL/SQL 基础语法 PL/SQL 的程序结构...IF 语句 循环语句 第一种 while 第二种 loop 第三种 FOR 光标 光标的语法 光标的属性 光标数的限制 带参数的光标 例外(错误) 系统列外 自定义列外 PLSQL PL/SQL 是...Oracle 对 sql 语言的过程化扩展, 指在sql 命令语言中增加了过程处理语句(如分支、循环等),使sql语言具有过程处理能力 PL/SQL 基础语法 PL/SQL 的程序结构 declare...; end; 光标的属性 %found 光标取到值为true %notfound 光标取不到值true %isopen 判断光标是否打开 %rowcount 影响的行数 光标数的限制 默认情况下,oracle...) Timeout_on_resource (在等待资源时发生超时) 自定义列外 定义变量,类型是 exception 使用raise抛出自定义列外 --自定义例外: set serveroutput

    1.1K30

    Oracle SQL 异常处理

    .'); end;  用户自定义异常就是用户定义一个异常情况,遇到这种情况再对这种情况进行处理 因为用户定义的异常不一定是Oracle返回的系统错误,系统不会自动触发,需要在声明部分定义。...而用户自定义异常以及预定义异常不回终止程序,但会终止该 PL/SQL 代码块,所以一个存储过程中可以有多个 PL/SQL 代码块。...关于异常的语法及定义: 什么是异常: PL/SQL用异常和异常处理器来实现错误处理 Oracle中出现错误的情形通常分为编译时错误(compile-time error)和运行时错误(run-time...异常在PL/SQL执行过程中很可能出现 对异常如果不进行处理,异常可能会中断程序的运行 捕获异常的规则: 在异常部分WHEN 子句没有数量限制 当异常抛出后,控制无条件转到异常处理部分 EXCEPTION...编写PL/SQL块,使用SELECT语句将管理者编号为空的员工的姓名及工作编号显示出来,如果符合条件的员工多于一人,则返回字符串“最高管理者人员过多!”

    1K10

    oracle补充

    drop index teachername; 序列 序列是Oracle提供的用于产生一系列唯一数字的数据库对象。...创建序列要有序列权限 grant create sequence,select any sequence to 用户名 --dba权限包括以上权限,所以不用重新赋予 序列的创建 SQL例子:.../SQL块 块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上就是在编写块,要完成简单的功能,可能需要一个块,复杂的功能,要一个块中嵌套另一个块 PL/SQL块由三个部分组成:定义部分.../*异常处理部分——处理运行的各种错误*/ end; 实例1:只包括执行部分的pl/sql块 /*只要涉及输入就需要打开输出选项*/ set serveroutput on --打开输出选项...PL/SQL函数 函数是命名了的、存储在数据库中的PL/SQL程序块。

    3.7K30

    Oracle-PLSQL基础

    概述 PL/SQL简介 pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入Sql语言,还可以定义变量和常量,允许使用条件语句和循环语句...pl/sql是面向过程的语言。 ? 不同数据库的SQL扩展 PL/SQL 是Oracle数据的SQL扩展。 SQL/PL 是DB2数据库的SQL扩展。...---- PL/SQL块 块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上 就是编写pl/sql块。...---- PL/SQL基础语法 ---- 程序结构 declare 说明部分(变量说明\游标声明\例外说明) begin 语句序列(DML语句) exception 例外处理语句...oracle会自动启动一个pmon(process monitor)的一个进程 --将pl/sql程序中未关闭的资源释放 --所以 close c_emp; 还是会执行的 close c_emp

    2.3K20

    Oracle PLSQL随堂笔记总结

    1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle...的pl/sql的概念 2.掌握pl/sql编程技术(过程、函数、触发器) pl/sql是标准sql语句的扩展 简介 1.过程、函数、触发器都是由pl/sql编写...2.过程、函数、触发器是在oracle中 3.pl/sql是非常强大的过程语言 4.过程、函数等可以在java程序被调用 学习必要性:.../SQL: 数字或值错误 : 字符串缓冲区太小 当ename为MARTIN时,会报上述错误,解决方法,定义v_ename时,v_ename emp1.ename%type; ②...实例:编写一个存储过程,输入一个名字,工资加1000,如果没有该人,抛出自定义例外。 8.oracle的视图 视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的行和列数据。

    2.5K40
    领券