SQL 错误:ORA-00933:SQL 命令未正确结束 00933。00000 -“SQL 命令未正确结束”

Posted

技术标签:

【中文标题】SQL 错误:ORA-00933:SQL 命令未正确结束 00933。00000 -“SQL 命令未正确结束”【英文标题】:SQL Error: ORA-00933: SQL command not properly ended 00933. 00000 - "SQL command not properly ended" 【发布时间】:2016-04-19 01:08:55 【问题描述】:

我浏览了这个网站,找不到类似的场景。我正在尝试运行以下代码

SELECT st.storeid, s.noofitems
FROM salestrnsaction AS st, soldvia AS s
WHERE st.tid = s.tid
ORDER BY noofitems ASC;

我仍然收到“SQL 命令未正确结束”错误。

更具体地说,这是我收到的消息。

SELECT st.storeid, s.noofitems
FROM salestrnsaction AS st, soldvia AS s
WHERE st.tid = s.tid
ORDER BY noofitems ASC
Error at Command Line : 287 Column : 22
Error report -
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"
*Cause:    
*Action:

谢谢。

【问题讨论】:

【参考方案1】:

您使用的是 ORACLE 对吗?在 FROM 子句中的别名中使用 AS 在 Oracle 中无效。 请避免使用 AS 为表格提供别名。

在表格后面写别名就行了。

SELECT st.storeid, s.noofitems
FROM salestrnsaction st, soldvia s
WHERE st.tid = s.tid
ORDER BY s.noofitems ASC;

【讨论】:

完美!谢谢你。我们还没有涵盖别名,所以我打算在网上找到我可以找到的东西。这行得通。感谢大家的帮助。 Np。如果有效,请将其标记为正确答案。谢谢 我们是否需要在order by 中强制使用alias? @brenners1302 是的。所以如果两个表中都存在该列就不会模棱两可了。【参考方案2】:

我的问题有点不同。我只是执行了一个简单的SELECT 并得到了同样的错误。

SELECT *
-- Inventory
FROM EQUIPMENT as EQP

我从我所做的研究中发现,Oracle SQL 与 mysql 不需要 AS,所以当我将查询更改为...

SELECT *
-- Inventory
FROM EQUIPMENT EQP

这消除了错误。

【讨论】:

以上是关于SQL 错误:ORA-00933:SQL 命令未正确结束 00933。00000 -“SQL 命令未正确结束”的主要内容,如果未能解决你的问题,请参考以下文章

为啥会出现“ORA-00933:SQL 命令未正确结束”错误(立即执行)?

选择进入导致错误 ORA-00933:SQL 命令未正确结束

如何使用另一个表中的另一列更新一列? SQL 错误:ORA-00933:SQL 命令未正确结束

卡在 PL/SQL:ORA-00933:SQL 命令未正确结束

我试图通过加入 3 个表将值插入表中,但是我收到“ORA-00933:SQL 命令未正确结束”错误''

ORACLE:错误错误(6,3):PL/SQL:SQL 语句被忽略和错误(8,3):PL/SQL:ORA-00933:SQL 命令未在过程中正确结束