本文介绍了为什么我的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从命令行执行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!