问题标签 [ora-00907]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
240 浏览

sql - 尝试创建 CHECK 约束时出现 ORA-00907

我需要你的帮助来解决这个错误:

关于检查约束的 ORA-00907

询问:

0 投票
1 回答
779 浏览

sql - Oracle 10g:在视图中排序兄弟

是否可以在视图中添加 ORDER SIBLINGS BY fieldName?我有一个层次结构,其中我成功地使用了具有 CONNECT BY 功能的查询。

但是,当我在视图定义中添加 ORDER SIBLINGS BY fieldName 时,Oracle 给出了一个奇怪的括号错误。

如果没有 ORDER SIBLINGS BY 或在视图定义之外,它就像一个魅力。否则,我得到:

ORA-00907: 缺少右括号

0 投票
1 回答
14224 浏览

sql - ORA-00907: 缺少右括号

创建表格订单时出现错误:

ORA-00907: 缺少右括号

0 投票
1 回答
4368 浏览

oracle - ORA-00907 在 PL/SQL 中动态创建视图并使用 CLOB

这是您从 Oracle 收到无用错误消息的情况之一。

我的情况如下:我在 PL/SQL 中动态创建一个视图。我构建了一个字符串并使用 EXECUTE IMMEDIATE 来创建视图。字符串太长了,我用 CLOB 来存储它。

当我在 TOAD 中运行下面的代码时,我得到了无用的

在 TOAD 中手动创建视图(没有 EXECUTE IMMEDIATE)没有问题。我的感觉是字符串的长度是这里的一个因素,因为我已经成功地创建了具有较短字符串的视图(并且还使用 to_char() 而不是 dbms_lob.substr(),但是 to_char() 仅适用于较小的 clob)。

总字符串长度为 13775。(显然,我已经编辑了下面我构建字符串的行。)这是 Linux 上的 Oracle 10g 数据库。

0 投票
2 回答
781 浏览

oracle - Oracle TIMESTAMP 类型

当我选择 DESC 表名时,我看到一些列 TIMESTAMP(3)(11)。3 是小数秒精度。什么是 11,如何定义这样的列?

ALTER TABLE name ADD col TIMESTAMP(3)(11)例如给出 ORA-00907: 缺少右括号

0 投票
2 回答
6214 浏览

sql - Oracle 错误 - ORA-00907: 缺少右括号

我对这个 Oracle 错误摸不着头脑。以下查询完美运行:

但是,我想按字母顺序返回我的合并列表,因为我很挑剔。你会认为我会这样做:

但是,当我尝试这个时,我得到了错误:

我可以在自己的 SELECT 语句中运行查询,如下所示:

它运行良好。我的括号比太阳马戏团的队伍更平衡。为什么会出错?

0 投票
1 回答
2741 浏览

sql - ORA-00907: 缺少右括号

我收到错误“ORA-00907:缺少右括号”,但我检查过所有括号都在那里,所以我很难过。

我的查询是

我绝不是 Oracle 专家,但我必须使用它,因为它必须位于托管环境中。

0 投票
1 回答
1241 浏览

oracle - (又一个)“缺少右括号”

我正在使用 10g,并尝试进行一些简单的计算,然后将结果保存在列中。实际的表有更多的列,但这是我在查询中使用的:

免疫注射取自疫苗批次。'Dose_magnitude' 是特定免疫注射的用量。疫苗批次中的“剂量”列说明标准免疫注射的用量。所以标准镜头可能是0.1cc。但一次免疫注射实际上可能使用 0.2cc 甚至 0.05cc。疫苗批次交易中的“数量”列最初记录了一个疫苗批次包含多少标准免疫注射。

我在这里尝试做的是计算疫苗批次的正确“Quantity_on_hand”(即,疫苗批次还剩下多少标准免疫注射)。

这是一个使用我们刚刚插入的数据的示例。我们有一个疫苗批次(批次 ID 为“100”),它以 150 次标准注射开始(即,它包含 150 次 0.2cc 注射)。这批已经有两个免疫注射,一个 0.2cc,另一个 0.3cc)。而现在120的数量显然是错误的,需要重新计算更新。

这是我的查询:

果然,甲骨文开始抱怨“缺少右括号”。看起来它认为语法上有问题。

谁能帮忙看看这个查询,看看有什么问题?谢谢!

这是我通过 SQL*PLUS 运行它时得到的结果:


顺便说一句,我使用的是 10.2.0.1.0 版的 SQL*Plus。使用 SQL Developer(版本 3.0.04)时,我得到了相同的结果。

谁能帮忙看看这个问题?谢谢!

0 投票
1 回答
2986 浏览

oracle - 获取 ORA-00907 的 Oracle 查询:缺少右括号

我已经阅读了其他缺少的右括号问题,但没有找到我的问题的答案。我认为这是一个语法错误,在结束之前切断了一些东西(我不是一个真正的 Oracle 人),但我不知道它在哪里。该查询应该提取客户 ID,并且该客户最近一年有记录。参数是客户 ID 号(按地区唯一,但与组织不同)、地区和被搜索的年份。如果该地区的检索年份没有记录,则不应返回任何记录。

0 投票
4 回答
2041 浏览

oracle - ORA-00907 在查询中使用分析函数时出错 (PS/Query, Peopletools 8.51.12)

当我尝试将值列表粘贴到条件中时,查询会引发 ORA-00907 错误。

背景我不是开发人员,我只是一个经过充分研究的最终用户,我可以在 Peoplesoft 中使用 PS/Query 编写查询,以用于我公司的实施。我使用 Peoplesoft 的 FSCM 模块(财务和供应链管理),目前版本为 FSCM 8.90.08.024,我认为使用 Oracle 11g 作为基础数据库。

我主要是自学成才,我们的技术专家忙于数据库/应用程序的东西,或者他们不熟悉我部门的特定数据需求。

我应该指出,我无法直接编写 SQL 语句来查询数据库。我必须使用一个名为“PS/Query”(也称为查询管理器)的内置程序和一个 GUI,它为您编写 SQL 并将其保存为一个查询,您可以运行到数据库以提取数据。这仅与我的问题有关:

PS/Query 是我迄今为止唯一的 SQL 经验,除了 Oracle 的文档和类似这样的网站。根据我的研究,“实际的”SQL 程序员认为它非常受限。对它的限制要求您以违反 SQL 编码最佳实践的方式做事。

查询请求:我有一个查询,我被要求写出针对某些系统定义的类别代码的支出(在凭证和采购订单上)。我要做的是提取凭证 ID,按供应商和类别代码对它们的商品金额求和,然后显示结果。或者换句话说,对于供应商/类别的每个独特组合,将具有该供应商/类别组合的所有优惠券金额相加。

使用 SUM (Fieldname) OVER (PARTITION BY fieldname, fieldname) 语法。

所以最终结果应该看起来像......

话虽如此,这里是查询管理器显示的 SQL 以获得我上面显示的结果集:

潜在问题:这工作正常,但一次只能提示一个类别代码。类别代码是 5 位数字,一个 3 位数字的“类别”,后跟一个短划线,然后是一个 2 位数字的“子类别”。我有一个包含 375 个类别代码的列表,我需要获取此查询结果。

我已经在这个版本上设置了一个提示,允许输入通配符(所以 123-%%),但这仍然是大约一百次单独运行的查询。查询管理器允许在条件中使用“列表中”表达式类型,但它需要您手动输入列表中的每个条目。

我正在尝试将其设置为可以将代码列表的纯文本副本粘贴到表达式中的位置,并带有适当的引号/逗号,并让它评估它以给我一个指定的所有 NIGP 代码的组合列表。查询管理器创建的提示字段不允许粘贴列表(据我所知)。

尝试的解决方案:我查看了位于http://peoplesoft.ittoolbox.com/groups/technical-functional/peoplesoft-other-l/create-an-expression-in-psoft-90-query-to-paste-a-的页面list-of-emplids-2808427并且我已经尝试了那里给出的一些答案,但没有一个有效。该页面导致我尝试使用此修改后的 SQL(显然代码列表被截断了一点以便在此处显示):

上面的 SQL 是给我 ORA-00907 错误的原因。有没有人遇到过这个问题?巨大的文字墙,我知道。我很抱歉。这是我在这里的第一篇文章,我尽量不遗漏任何相关内容。

我已经解决了引发这个问题的直接问题,但该请求只是一个非常大的冰山一角,在某些时候我需要找出一种方法,能够使用查询管理器将纯文本列表粘贴为标准,最好是与分析分组配合得很好。

TL;DR 版本:

使用 Peoplesoft 查询管理器使用 OVER、PARTITION BY 进行分组分析 SUM。当我尝试将列表粘贴到条件中时,它会引发 ORA-00907 错误。

任何帮助将不胜感激。谢谢!