我正在使用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中是否有一些语言或行结束或注释设置我错过了?