更新时间:2024-05-07 GMT+08:00
DBE_PLDEVELOPER.gs_errors
用于记录PL/SQL对象(存储过程、函数、包、包体)编译过程中遇到的报错信息,具体内容见下列字段描述。
打开plsql_show_all_error参数后,如果编译过程中存在报错,则会跳过报错继续编译并把报错信息记录在gs_errors中,如果关闭plsql_show_all_error参数,且behavior_compat_options参数不为skip_insert_gs_source,则会直接将报错信息插入此表中。
该表的owner是创建的用户,修改存储过程或者package的owner不会修改该表信息。
名称 |
类型 |
描述 |
id |
oid |
对象的ID。 |
owner |
bigint |
对象创建用户ID。 |
nspid |
oid |
对象的模式ID。 |
name |
name |
对象名。 |
type |
text |
对象类型(procedure/function/package/package body)。 |
line |
integer |
行号。 |
src |
text |
报错信息。 |
- 创建包头时的开头(as/is之前)和结尾(end之后),如果出现错误,不会记录在gs_errors表格里面,会直接在客户端返回错误的行号和该行具体内容,返回的行号不一定准确。个别is本身和end本身错误场景也不会记录在gs_errors表格里面。
- 创建包体时的开头(as/is之前)和结尾(end之后),如果出现错误,不会记录在gs_errors表格里面,会直接在客户端返回错误的行号和该行具体内容,返回的行号不一定准确。个别is本身和end本身错误场景也不会记录在gs_errors表格里面。
- 创建包体时,函数或者存储过程的结尾(end之后),如果出现错误,不会记录在gs_errors表格里面,会直接在客户端返回错误的行号和该行具体内容,行号不一定准确。
- 创建包体时,函数或者存储过程的开头(as/is 以及 as/is之前)如果出现错误,报错行数不准确。
- 创建包头时,变量声明少分号,会记录在gs_errors表格里面,记录的报错行号不准确。开启参数不会记录。
- 包体内存储过程或函数内部,自治事务标识符PRAGMA AUTOMOUS_TRANSACTION声明错误时,不能确保是否能记录在gs_errors表里。
- 客户端直接报错,但是gs_errors表格未记录的情况,如果客户端报错行号不对,本需求不纠正原本报错的行号。
- 对于类似 if ....then、for....loop、when .... then 语句中间的错误或EXCEPTION本身错误,报错行号在本行,而不是下一个分号所在行。
- 包内存储过程或函数内部begin本身错误的场景,报错行数不准。
父主题: DBE_PLDEVELOPER