跳到主要内容

9500 ~ 9999

此范围表示过程语言 (PL)错误码。

ERROR 9502 (HY000) : OUT and IN/OUT modes cannot be used in this context

  • seekdb 错误码:9502

  • 错误原因:仅当动态语句的 DML 语句含 returning 变量,并且外部没有 INTO 变量时,才允许使用 OUT 参数。

  • 解决方式:检查动态语句使用 OUT 参数的用法是否符合规范。

ERROR 9503 (HY000) : object '%.*s' of type %.*s not found in schema '%.*s'

  • seekdb 错误码:9503

  • 错误原因:不存在指定类型和名称的对象。

  • 解决方式:使用正确的类型和对象名。

ERROR 9506 (HY000) : Only schema-level programs allow %s

  • seekdb 错误码:9506

  • 错误原因:INVOKER RIGHT 子句仅允许在 standalone 的 Procedure 或 Function 里定义。

  • 解决方式:删除 INVOKER RIGHT 子句。

ERROR 9507 (HY000) : at most one declaration for '%.*s' is permitted

  • seekdb 错误码:9507

  • 错误原因:在同一个命名空间发现了重复的标识符。

  • 解决方式:确保在同一个命名空间标识符的唯一性。

ERROR 9508 (HY000) : duplicate fields in RECORD,TABLE or argument list are not permitted

  • seekdb 错误码:9508

  • 错误原因:PL 具有同名参数。

  • 解决方式:PL 的参数名需要保持唯一。

ERROR 9509 (HY000) : Pragma AUTONOMOUS_TRANSACTION cannot be specified here

  • seekdb 错误码:9509

  • 错误原因:自治事务子句出现的位置不对,只能出现在第一层 Block。

  • 解决方式:修改自治事务子句的位置。

ERROR 9510 (HY000) : illegal EXIT/CONTINUE statement; it must appear inside a loop

  • seekdb 错误码:9510

  • 错误原因:EXITCONTINUE 语句必须用在一个循环体内。

  • 解决方式:检查 EXITCONTINUE 子句是否使用正确。

ERROR 9512 (HY000) : EXIT/CONTINUE label '%.*s' must label a LOOP statement

  • seekdb 错误码:9512

  • 错误原因:EXITCONTINUE 子句的目的端不是一个有效 Label。

  • 解决方式:检查EXITCONTINUE 的目的端 Label 是否有效。

ERROR 9513 (HY000) : expression '%.*s' is inappropriate as the left hand side of an assignment statement

  • seekdb 错误码:9513

  • 错误原因:静态游标不能被用来赋值。

  • 解决方式:检查赋值语句的合法性。

ERROR 9514 (HY000) : a variable declared NOT NULL must have an initialization assignment

  • seekdb 错误码:9514

  • 错误原因:NOT NULL 约束的变量没有被显式初始化。

  • 解决方式:去掉 NOT NULL 约束,或者显式初始化变量。

ERROR 9515 (HY000) : Constant declarations should contain initialization assignments

  • seekdb 错误码:9515

  • 错误原因:Constant 变量没有被显式初始化。

  • 解决方式:去掉 Constant,或者显式初始化变量。

ERROR 9516 (HY000) : Cursor Variables cannot be declared as part of a package

  • seekdb 错误码:9516

  • 错误原因:游标不允许在 PACKAGE 中声明。

ERROR 9518 (HY000) : value in LIMIT clause: \'%.*s\' use is invalid

  • seekdb 错误码:9518

  • 错误原因:LIMIT 子句的表达式数据类型不正确。

  • 解决方法:修改数据类型为数字类型。

ERROR 9519 (HY000) : expression is of wrong type

  • seekdb 错误码:9519

  • 错误原因:表达式的结果类型不符合预期。

  • 解决方法:请检查表达式的结果类型。

ERROR 9520 (HY000) : cannot compile body of '%.*s' without its specification

  • seekdb 错误码:9520

  • 错误原因:UDT 缺少 SPEC 申明。

  • 解决方法:请先添加 SPEC 申明。

ERROR 9521 (HY000) : subprogram '%.*s' is declared in an object type body and must be defined in the object type specification

  • seekdb 错误码:9521

  • 错误原因:Object 中的函数定义必须在 SPEC 中先声明。

  • 解决方法:在 SPEC 中申明函数。

ERROR 9522 (HY000) : subprogram or cursor '%.*s' is declared in an object type specification and must be defined in the object type body

  • seekdb 错误码:9522

  • 错误原因:Object 中的子过程或者 Cursor 在 SPEC 中申明了,必须在 BODY 中进行定义。

  • 解决方法:删除申明或者对申明进行定义。

ERROR 9523 (HY000) : An object type may have only 1 MAP or 1 ORDER method

  • seekdb 错误码:9523

  • 错误原因:一个 Object 类型只能定义一个 MAP 或者 ORDER 函数(不能同时定义 MAPORDER 函数)。

  • 解决方法:去除多余的 MAPORDER 函数,保留一个合适的函数。

ERROR 9524 (HY000) : A MAP or ORDER function is required for comparing objects in PL/SQL

  • seekdb 错误码:9524

  • 错误原因:在 PL 中比较 Object 类型,需要定义一个 MAP 或者 ORDER 函数。

  • 解决方法:定义一个合适的 MAP 或者 ORDER 比较函数。

ERROR 9525 (HY000) : Only a function may be a MAP, ORDER or CONSTRUCTOR method

  • seekdb 错误码:9525

  • 错误原因:MAPORDER 或者 CONSTRUCTOR 必须定义为一个 FUNCTION。

  • 解决方法:修改定义并重新编译。

ERROR 9526 (HY000) : identifier '%.*s' too long

  • seekdb 错误码:9526

  • 错误原因:Label 的名称过长,最大只允许128字符。

  • 解决方法:修改长度。

ERROR 9527 (HY000) : a static method cannot be invoked on an instance value

  • seekdb 错误码:9527

  • 错误原因:实例不能调用静态函数。

  • 解决方法:修改调用方法,使用类型名调用。

ERROR 9528 (HY000) :constructor method name must match type name

  • seekdb 错误码:9528

  • 错误原因:构造函数名称必须和类型名相同。

  • 解决方法:确保两者相同。

ERROR 9529 (HY000) :previous use of '%.*s' conflicts with this use

  • seekdb 错误码:9529

  • 错误原因:命名冲突。比如定义不同类型的变量,但该变量名已经在其它地方使用了。

  • 解决方法:确保命名的变量名没有重复。

ERROR 9530 (HY000) :the SELF parameter can be declared only as IN or as IN OUT

  • seekdb 错误码:9530

  • 错误原因:SELF 参数的修饰符必须是 IN 或者 IN OUT,不能是其它修饰符。

  • 解决方法:修改修饰符以符合要求。

ERROR 9531 (HY000) :MAP methods must return a scalar type

  • seekdb 错误码:9531

  • 错误原因:MAP 函数必须返回一个标量值,不能是一些复杂类型。

  • 解决方法:修改函数返回值类型。

ERROR 9532 (HY000) :MAP methods must be declared without any parameters other than (optional) SELF

  • seekdb 错误码:9532

  • 错误原因:MAP 函数的参数有且只有一个 SELF 参数(SELF 参数可以是显式定义或者隐式定义)

  • 解决方法:去除多余的参数。

ERROR 9533 (HY000) :ORDER methods must return an INTEGER

  • seekdb 错误码:9533

  • 错误原因:ORDER 函数必须返回一个整型数。

  • 解决方法:修改函数返回值类型。

ERROR 9534 (HY000) :The parameter type in an ORDER method must be the containing object type

  • seekdb 错误码:9534

  • 错误原因:ORDER 函数的参数类型必须是所属类型的类型。

  • 解决方法:修改参数类型。

ERROR 9535 (HY000) :Within SQL statements, only equality comparisons of objects are allowed without a map or order function

  • seekdb 错误码:9535

  • 错误原因:在 SQL 语句中,没有 MAP 或者 ORDER 函数,只能进行等值比较。

  • 解决方法:增加 MAPORDER 函数,或者只进行等值比较。

ERROR 9537 (HY000) :The parameters to an ORDER function must have IN mode

  • seekdb 错误码:9537

  • 错误原因:ORDER 函数的参数修饰符必须是 IN

  • 解决方法:修改参数修饰符。

ERROR 9538 (HY000) :ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF

  • seekdb 错误码:9538

  • 错误原因:ORDER 函数必须定义除了 SELF 参数之外的参数。

  • 解决方法:定义一个所属类型的额外的参数。

ERROR 9539 (HY000) : type '%.*s' is malformed because it is a non-REF mutually recursive type

  • seekdb 错误码:9539

  • 错误原因:类型互相递归引用。

  • 解决方法:解决递归引用的问题。

ERROR 9540 (HY000) :$ERROR: %.*s

  • seekdb 错误码:9540

  • 错误原因:通过 $ERROR 指令产生的异常,预期异常。

  • 解决方法:无需处理。

ERROR 9541 (HY000) : RETURN statement in a CONSTRUCTOR cannot include an expression

  • seekdb 错误码:9541

  • 错误原因:CONSTRUCTOR 函数的 RETURN 语句不能带任何表达式。

  • 解决方法:去除 RETURN 后面的表达式。

ERROR 9542 (HY000) : wrong number or types of arguments in call to '%.*s'

  • seekdb 错误码:9542

  • 错误原因:子过程调用的时候,没有找到合适的函数,可能是函数名不对,也可能是参数个数不对,也可能是参数的类型不匹配。

  • 解决方法:检查函数名,参数个数和参数类型。如果还有问题,再检查一下函数的访问范围。

ERROR 9543 (HY000) : '%.*s' must be a type

  • seekdb 错误码:9543

  • 错误原因:声明或者表达式的类型修饰符不是一个合法的类型。例如可能没有加 %type%rowtype

  • 解决方法:修改修饰符成为一个合法的类型。

ERROR 9544 (HY000) : too many declarations of '%.*s' match this call

  • seekdb 错误码:9544

  • 错误原因:匹配多个函数调用。可能调用的函数存在多个可匹配的调用方法,没有一个可以精确匹配的函数。

  • 解决方法:检查调用函数的名字是否正确及参数类型是否正确。

ERROR 9694 (42000) : Duplicate condition information item '%s'

  • seekdb 错误码:9694

  • 错误原因:condition 定义中出现了重复项。

  • 解决方法:condition 定义中删除重复项。

ERROR 9695 (02000) : Unhandled user-defined not found condition

  • seekdb 错误码:9695

  • 错误原因:使用了用户未定义的 condition。

  • 解决方法:不要使用未定义的 condition。

ERROR 9743(HY000) : Can't drop or alter a procedure/function from within another stored routine.Can't drop or alter a '%s' from within another stored routine

  • seekdb 错误码:9743
  • 兼容 MySQL 错误码:1357

ERROR 9747 (HY000) : malformed ps packet

  • seekdb 错误码:9747
  • 错误原因:客户端发送的预处理语句(prepared statement)数据包格式错误。
  • 解决方法:可以检查客户端和服务器版本是否兼容,确保客户端和服务器版本匹配。

ERROR 9749 (HY000) : object does not exist

  • seekdb 错误码:9749
  • 错误原因:请求的对象不存在。
  • 解决方式:检查请求的对象名称是否正确或错误,确认是否可以找到该对象。

ERROR 9750 (HY000) : PL/SQL: index for PL/SQL table out of range for host language array

  • seekdb 错误码:9750
  • 错误原因:在使用 PL/SQL 表时,索引超出了数组的范围。
  • 解决方式:确保索引的值没有超出数组范围。

ERROR 9754 (HY000) : debug_session_id = %u does not exist

  • seekdb 错误码:9754

  • 错误原因:debug_session_id 不存在。

  • 解决方法:检查会话 ID 是否存在。

ERROR 9760 (HY000): cannot fast refresh materialized view %s: %s

  • seekdb 错误码:9760

  • 错误原因:不符合创建增量刷新物化视图的基本要求。例如:

    • 增量刷新物化视图定义中的基表没有创建物化视图日志(mlog)表。
    • 增量刷新物化视图定义中不支持包含集合操作符。
    • 增量刷新物化视图中使用的列需要在基表的 mlog 中有维护。
  • 解决方法:检查创建增量刷新物化视图的定义是否符合增量刷新基本要求。有关增量刷新基本要求的介绍信息,参见 刷新物化视图

ERROR 9762 (42000) : Loading local data is disabled; this must be enabled on both the client and server sides

  • seekdb 错误码:9762

  • 兼容 MySQL 错误码:3948

  • 错误原因:Local Data 导入数据失败。

  • 解决方法:如果需要使用 load data local 功能,需要保证:

    • OBJDBC 版本不低于 2.4.8(如果使用 Java + OBJDBC)。

    • 直接使用 MySQL 或 MariaDB 原生客户端,对版本没有特殊要求。

    • MySQL/MariaDB 客户端连接数据库时增加命令行参数 --local-infile

      如果版本没有问题,需要设置变量 local_infile 值为 ON:

      • 开启变量。

        set @@local_infile=1;
      • 检查变量。

        show variables like 'local_infile';

ERROR 9765 (HY000) : object '%.*s' must be of type function or array to be used this way

  • seekdb 错误码:9765

  • 错误原因:对象 '%.*s' 必须是函数或数组类型才能这样使用。

  • 解决方法:检查对象的类型,并根据需要进行调整。

ERROR 9783 (HY000) : cannot ENABLE ON QUERY COMPUTATION for the materialized view $mview_name: $detail

  • seekdb 错误码:9783

  • 错误原因:物化视图的定义不满足实时物化的要求,详细原因请参考 $detail 的部分。

  • 解决方法:根据 $detail 提示,做出相应调整。

ERROR 9808 (HY000) : Table type is not valid, the definition of materialized view can only reference user tables or other materialized views

  • seekdb 错误码:9808

  • 错误原因:物化视图的定义中引用的表类型无效。

  • 解决方法:检查物化视图的定义引用的对象类型(物化视图的定义只能引用用户表或其他物化视图)。

ERROR 9809 (HY000) : Base tables are altered during the creation or complete refresh of materialized views, please try again when base tables have no ongoing DDL operations

  • seekdb 错误码:9809

  • 错误原因:在创建或完全刷新物化视图期间,基表正在进行的 DDL 操作。

  • 解决方法:检查物化视图基表是否有正在进行的 DDL 操作。

ERROR 9810 (HY000) : Materialized view %s.%s has invalid dependency info, please perform a complete refresh to recover

  • seekdb 错误码:9810

  • 错误原因:物化视图 %s 的依赖关系信息无效。

  • 解决方法:对物化视图做一次全量刷新。

ERROR 20000 (HY000) : The stored procedure 'raise_application_error' was called which causes this error to be generated","-%05ld: %.*s

  • seekdb 错误码:20000

  • 错误原因:通过 RAISE_APPLICATION_ERROR 过程调用生成的用户自定义异常,这个错误码是一个隐式码,实际以用户指定的错误码为准。用过程 RAISE_APPLICATION_ERROR 指定的用户错误码范围在 20000 - 20999 之间。

  • 解决方式:用户自定义异常,是由用户显示抛出,无需处理。

ERROR 21000 (HY000) : error number argument to raise_application_error of '%d' is out of range

  • seekdb 错误码:21000

  • 错误原因:通过 RAISE_APPLICATION_ERROR 产生的用户自定义异常错误码范围不正确,用户指定的错误码范围必须在 20000 - 20999 之间。

  • 解决方式:调整错误码范围为 20000 - 20999 之间。

ERROR 32491 (HY000) : snapshot expression not allowed here

  • seekdb 错误码:32491

  • 错误原因:此处不允许出现 SNAPSHOT 表达式,SNAPSHOT 表达式仅支持只读语句。

  • 解决方式:去掉 SNAPSHOT 表达式,或者修改语句为只读。

Contents

编辑此页