我在使用Oracle 10G数据库工作时从SQLDeveloper切换到DBeaver,请使用适用于数据库确切版本的Oracle instantclient。DBeaver简单查询ORA-00911无效字符
我不做脚本,只是一堆查询,如选择,更新。我收集了它们,每行一行或几行,最后以分号结尾,后面跟着两个破折号和注释。 用多条破折线分隔的多行视觉分隔语句。
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中有一些语言或行结束或注释设置我错过了吗?
2016-01-21
uldics
+0
HeidiSQL有一个类似的恼人的行为。你能首先告诉我们每个查询将独立执行吗? –
+1
尽量不要在分号后放置注释。在语句前放置注释。我不知道DBeaver如何处理这些问题,但我知道至少有一个其他工具无法正确执行这些语句。 –
+0
第一个将给出所有尚未以正确状态结束的动作以及上次状态更改的时间。所以我可以看到是否有我需要做些事情的动作。 第二个实际上是相同的,但是对于其他活动类型,其中创建的状态应该已更改为完成。所以我可以看看这些。 –