【问题标题】:Error oracle sql developer "SQL command not properly ended"错误 oracle sql developer“SQL 命令未正确结束”
【发布时间】:2016-07-29 22:14:23
【问题描述】:

我在使用 oracle sql developer 进行下面的查询时遇到此错误,并且无法真正弄清楚它有什么问题。 “SQL 命令未正确结束”

选择 * 从表 1 仅获取第一行

【问题讨论】:

  • 我使用的是4.1.3.20这个版本
  • 不,我是说 ORACLE 版本。
  • 请运行这个语句,看看它告诉你什么:SELECT * FROM v$version WHERE banner LIKE 'Oracle%';
  • Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  • SQL developer 不是数据库软件,它只是你用来与之交互的接口。每个版本的 Oracle DB(包括 12c)都带有(升级的)SQL Developer。我使用 SQL Developer 非常好,包括 Oracle 11g(在我的笔记本电脑上)和 12c(在我的台式机上)——都是为了学习,我不是 IT 专业人士。

标签: oracle


【解决方案1】:

您使用的是什么版本的 Oracle? FETCH (...) 仅在 Oracle 12 中可用。

请运行这个语句,看看它告诉你什么:

SELECT * FROM v$version WHERE banner LIKE 'Oracle%'; 

【讨论】:

  • 我使用的是4.1.3.20这个版本
【解决方案2】:

5 年后,除了 cmets 中的内容外,这个问题没有完整的答案。感谢@mathguy 的答案。你可以这样做

SELECT * from Table1 WHERE ROWNUM = 1

SELECT * FROM Table1 WHERE ROWNUM < 10

这些将提供基本上随机的行,但通常这只是用于数据探索,所以没什么大不了的。如果您想要一个特定的行,请使用以下内容:

WITH X AS (
  SELECT *, ROW_NUMBER() OVER (ORDER BY SomeField) FROM table1
)
SELECT * FROM X WHERE RN = 1`

【讨论】:

    猜你喜欢
    • 2013-12-20
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    相关资源
    最近更新 更多