在DBeaver中执行含错误的Oracle函数创建语句时如何即时获取报错?
在DBeaver执行Oracle函数创建语句时即时获取错误提示的方法
你遇到的问题是因为DBeaver默认执行CREATE OR REPLACE语句时,仅提交语句到数据库,而Oracle数据库不会在执行这类PL/SQL对象创建语句时主动返回详细编译错误,只有显式检查或重新编译时才会展示错误。以下是两种解决方法:
方法1:执行语句后主动查询错误视图
在函数创建语句后追加查询USER_ERRORS视图的语句,执行时就能直接看到错误:
CREATE OR REPLACE function tmp_pra RETURN NUMBER AS m$a NUMBER (1); BEGIN m$a :=1; RETURN m$a; WWW END; / -- 查询当前函数的编译错误 SELECT line, position, text FROM USER_ERRORS WHERE name = 'TMP_PRA' AND type = 'FUNCTION';
方法2:修改DBeaver偏好设置,自动检查编译状态
通过开启DBeaver的自动检查功能,让它在执行创建语句后自动获取错误:
- 打开偏好设置(Windows/Linux:
File > Preferences;Mac:DBeaver > Preferences) - 依次进入
Database > SQL Execution > Oracle - 勾选**"Check object compilation status after create"**选项
- 保存设置后,再用
Ctrl+Enter执行函数创建语句,错误会直接显示在输出窗口
内容的提问来源于stack exchange,提问作者Arslan
相关产品推荐
相关产品推荐

