本文介绍了为什么我的SQL查询可以在sqldeveloper中工作,而不能使用sqlcl从命令行执行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

select * from test where test like '%test%'

这将使用sqldeveloper返回预期数据,但在使用sqlcl的命令行中,当我键入此命令并按Enter键时,我只看到2。如果再次按Enter键,我会看到3。

我这里错过了什么?我在sqlcl文档中看不到包含此内容的内容。

推荐答案

它的行为the same as SQL*Plus does。您已经在命令缓冲区中输入了一行文本,但是您还没有告诉客户端这是一个完整的语句,也没有告诉它execute it。它正在显示行号提示,以表明需要更多输入。

您可以用分号结束语句,也可以在文档中将劈开(/)单独放在新行上:

sql devleoper也支持这些,使用分号(默认情况下)作为sql终止字符,并允许分号或劈开终止语句。但是,它允许您在脚本的最后一条语句中省略它,而SQL*Plus并非如此-在这种情况下,该语句将永远不会运行。我认为SQLcl在这方面的行为也与SQL*Plus相同。

(我知道SQLcl并不完全相同,但大多数SQL*Plus文档都适用于SQL Developer及其最新的同级SQLcl。有关更多信息,请访问ThatJeffSmith's blog。)

这篇关于为什么我的SQL查询可以在sqldeveloper中工作,而不能使用sqlcl从命令行执行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-20 12:08