当前位置: 首页 > 知识库问答 >
问题:

错误:ORA-00933:SQL命令未正确结束

东门彬
2023-03-14

我试图从MySQL移动到Oracle和我的一个查询最初看起来像这样

SELECT t1.table_name 
FROM db_available AS t1 
INNER JOIN db_user_access AS t2 
    ON t1.id=t2.db_id 
WHERE t2.user_id=100 AND t2.expires >= NOW(); 

然而,当我在ORACLE中运行同一个查询时,只做了一个小改动。。。

SELECT t1.table_name 
FROM db_available AS t1 
INNER JOIN db_user_access AS t2 
    ON t1.id=t2.db_id 
WHERE t2.user_id=100 
    AND t2.expires >= SYSDATE;

它给了我以下错误:

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

Oracle SQL Developer工具强调了声明部分的一个问题

作为t1

我读了一些其他的问题,提到在Oracle语句的某些部分周围放置括号,但是我只是一个初学者,还不完全理解Oracle数据库,所以我真的不明白把它们放在哪里,或者在这种情况下是否需要它们。

共有2个答案

松琦
2023-03-14
SELECT t1.table_name 
FROM db_available t1, db_user_access t2 
WHERE t1.id=t2.db_id 
  AND t2.user_id=100 
  AND t2.expires >= SYSDATE;

根据oracle留档,您也不需要使用显式连接。

那安宁
2023-03-14

在oracle中,在给表添加别名时,不需要将指定为

SELECT t1.table_name 
FROM db_available t1 
INNER JOIN db_user_access t2 
    ON t1.id=t2.db_id 
WHERE t2.user_id=100 
    AND t2.expires >= SYSDATE;
 类似资料:
  • 我遇到了一个甲骨文错误, ORA-00933:SQL命令未正确结束 有以下几点。 我在每个语句末尾的“/”前面加了分号。 有什么建议我可能错了吗?

  • 我试图在Laravel 4.2中使用Oracle作为后端执行更新命令,如下所示。每当我尝试这样做时,我都会出错 我该如何解决这个问题,我错在哪里?谢谢你的建议。

  • 线程“main”java.SQL.sqlsyntaxerrorexception:ORA-00933:SQL命令未正确结束 我怀疑我们不能为Oracle查询提供“as employees_data”,那么我做错了什么?

  • 我正在尝试创建一个where子句作为参数传递给Oracle命令,事实证明这比我想象的要困难得多。我想做的是根据应用程序中的用户输入创建一个大型where查询。其中query是语句的单个参数,并且将包含多个and、OR条件。但这里的代码并不完全符合我的要求: 如果我将下面的行更改为我想要的结果类型,那么我会得到一个错误"ORA-00933:SQL命令未正确结束": 我的问题是,如何在不导致此错误的情

  • 目的是仅当同一个表中不存在相同的记录时,才将记录插入表中。所以,我将该表的值存储在如下游标中:- 现在,我将使用如下的内部联接从表中删除记录- 执行此删除语句时,我收到错误-'ORA-00933:SQL命令未正确结束' 如果我能够从表中删除记录,我将使用以下代码从游标数据中插入相同的记录到相同的表中:- 我的目标是,仅当同一个表中不存在相同的记录时,才将记录插入表中。 请指导如何处理delete语

  • 我试图使用骆驼路线中的MyBatis插入列表批处理将数据列表插入到表中。批处理失败,例外java.sql.批处理更新异常: ORA-00933:SQL命令未正确结束(下面有更多详细信息)。 我能够插入MyBatis API中没有问题的数据列表(参见本文第6节),但只有在骆驼路线上使用时,它才会失败 查询很好(请参阅本文中的5.SQL客户机查询),因为我能够成功地从SQL客户机插入数据。我尝试了几种