无法运行两个单独的选择语句 Oracle / Toad ORA-00933

Posted

技术标签:

【中文标题】无法运行两个单独的选择语句 Oracle / Toad ORA-00933【英文标题】:Unable to run two separate select statements Oracle / Toad ORA-00933 【发布时间】:2018-03-07 16:34:06 【问题描述】:

我来自使用 SSMS 的 MS SQL 背景。我最近刚在一家新公司开始使用 Oracle / Toad,我发现它有点挑剔。

我在 SSMS 中使用的其中一件事是选择 2 个查询,然后执行该语句并查看这两个查询的结果。

当我尝试运行以下查询时

select count(*) from table1;
select count(*) from table2;

我收到以下错误消息:ORA-00933: SQL 命令未正确结束

有什么地方我做得不对吗?

【问题讨论】:

【参考方案1】:

在您的工具中,按 F5,您将获得作为两个查询脚本的结果。

在免费的official GUI for Oracle Database 中,您可以这样做:

正如 Barbaros Özhan 所说,您需要先修复查询。您需要对某事做一个 count() - * 会起作用。

【讨论】:

不,他在问如何同时运行两个查询。无论有没有问题,查询都会运行。这些工具提供了一次运行多个语句的不同方法。 我在 SSMS 中使用的其中一件事是选择 2 个查询,然后执行该语句并查看两者的结果。 我明白你现在在说什么了。 他看到 ONE 查询的结果 - 这是 ORA- 错误。如果他想在蟾蜍中看到两者,请使用 F5。 这是两者的混合,A) 我做错了什么,B) 如果我的 select 语句没有做错,那么为什么会触发该错误。 【参考方案2】:

您需要在count 函数中包含一些像'x' 这样的文字,或者像* 这样的符号或像count 这样的数字count(1)count(*)count('x')

在您的情况下,这些缺失的运算符之一会导致 ORA-00933

【讨论】:

看起来星号出现在原始代码中,但被网站格式隐藏了。我缩进了代码,它出现了。【参考方案3】:

答案显然是我在 Toad for Oracle 中选择的按钮/稍微不正确的 SQL 语句。

我点击的是“在插入符号处执行/编译语句”按钮,而不是“执行脚本为”按钮。 Selecting the wrong button in Toad

【讨论】:

以上是关于无法运行两个单独的选择语句 Oracle / Toad ORA-00933的主要内容,如果未能解决你的问题,请参考以下文章

oracle中decode函数如何提升查询语句性能的?

ORACEL sql语句 两时间字段求差

Oracle 执行动态语句

如何优化Oracle在where条件中用了自定义函数的SQL语句

oracle查询语句中使用between and 查询效率高吗? 与to_char相比如何?

选择语句在 Oracle 11 上给出 ora-03113