DBeaver简单查询ORA-00911无效字符

DBeaver simple query ORA-00911 invalid character

我在使用 Oracle 10G 数据库时从 SQLDeveloper 切换到 DBeaver,为数据库的确切版本安装 Oracle instantclient。

我不制作脚本,只是一堆查询,比如 select,更新。我收集了它们,每行一行或几行,末尾有分号,后跟两个破折号和注释。 用于视觉分隔的多行语句用许多破折号分隔。

SQL开发者对这样的系统处理的很好,CTRL+Enter只执行了那一行(或者从最后一条注释或者分号到下一条分号的分组),忽略后面或者前面的注释。因此,我将整个集合从一个程序主程序 window 复制到另一个程序(SQL 编辑器)。使用结果很奇怪。

新 SQL 编辑器选项卡中的示例(table 名称已更改,如果我有一些保留字,请忽略):

select * from FILE_MOVEMENT where MOVEMENT_STATUS != 'MOVED' and LAST_UPDATE > sysdate -10 order by LAST_UPDATE desc;--My comment, explanation
select * from ACTIVITY where ACTIVITY_TYPE = 'GENERATOR' and STATUS = 'CREATED' and STARTED > sysdate -10 order by STARTED desc;--My other comment

第一个使用 CTRL+Enter 按预期执行,行开始闪烁单个三角形,执行日志仅显示我的命令,直到分号。 但是当光标放在第二行然后按 CTRL+Enter 时,我在两行之前都得到了三角形,所有在第一行分号之后直到第二行结束包括两个注释都得到 selected 并且弹出 ORA-00911。 selected 文本显示在执行日志中。

如果我在它们之间放置一个空行,那么整个第二行都会被 select 编辑和记录,并弹出相同的错误。

如何停止这种行为并使第二行也以与第一行相同的方式执行 - 没有前后评论?我错过了 DBeaver 中的某些语言或行尾或注释设置吗?

很少有最新版本的 DBeaver 行为可以接受。即使前面几行注释出现在要执行的语句中,它也按预期运行。执行了正确的语句,日志显示注释作为查询的开始,但它被忽略了。我可以忍受。

Dbeaver 使用 Ctrl+Enter 快捷方式执行单条语句,执行多条语句应使用 Alt+X。