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

时间:2016-01-21 07:36:30

标签: oracle dbeaver

我正在使用Oracle 10G数据库从SQLDeveloper切换到DBeaver,为数据库的确切版本提供Oracle即时客户端。

我不制作脚本,只是一堆查询,比如select,update。我有一个集合,每个集合在一行或几行,最后用分号,然后是两个破折号和评论。 视觉分离的多行语句用许多短划线分隔。

SQLDeveloper很好地处理了这样一个系统,CTRL + Enter只执行该行(或从最后一个注释或分号到下一个分号的组),在之后或之前忽略注释。所以我将整个集合从一个程序主窗口复制到另一个程序(SQL编辑器)。使用结果很奇怪。

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

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时,我在两行之前得到三角形,所有在第一行分号后直到第二行结束,包括两个注释都被选中并弹出ORA-00911。所选文本显示在执行日志中。

如果我在它们之间放置一个空行,则会选择并记录整个第二行并弹出相同的错误。

如何阻止此类行为并使第二行也像第一行一样执行 - 没有上一个和下一个注释? DBeaver中是否有一些语言或行结束或注释设置我错过了?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

Dbeaver使用Ctrl + Enter快捷键执行单个语句,要执行多个语句,则应使用Alt + X。

enter image description here