问题标签 [ora-00904]

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 投票
3 回答
1852 浏览

oracle - 过程中的动态sql错误

为什么我的动态 sql 过程不起作用?我要做的就是从表格中显示一个简单的列。我收到以下错误:

第 1 行出现错误:ORA-06550:第 1 行,第 7 列:PLS-00905:对象 SYSTEM.JOIN 无效 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略

错误:

0 投票
1 回答
679 浏览

entity-framework - 如何使用 EF5 查询多对多是否缺少记录

假设纯多对多,其中主键是两个外键的组合。例如,Northwind 中的“Employee Privileges”具有 EmployeeID 和 PrivilegeID。这个 m2m 显然将Employees 表与Privilege 表相关联。

我需要使用 EF 编写一个查询,该查询返回与指定 PrivilegeID 无关的所有员工,无论它是否与其他 PrivilegeID 相关。

我有一个适用于 Sql Server 的 EF 查询,Except()但它不适用于 Oracle。

如果我在 t-sql 中编写查询,我会编写一个查询来过滤具有所需特权的员工特权“请参阅下面的 EmpPrivQuery”。然后,我会将 EmpPrivQuery 加入到 Employee 中,如EmployeesMissingPrivileges 中所见,以完成过滤器。

我们目前有具有关系属性的 Employee 和 Privilege 模型来创建多对多表。该项目首先使用 EF 代码来创建架构。

这可以用 EF 连接语法来完成吗?可以在不为 EmployeePrivilege 表创建实体模型的情况下完成吗?

该块位于原始帖子中,但使问题变得模糊。保留评论上下文。 我使用 Devart dotConnect 作为 Oracle 数据提供者。Oracle 抛出的错误是ORA-00904: "Extent1"."EmployeeID": invalid identifier. 在调整为 sql server 编写的代码库以针对 oracle 工作时,这是我需要解决的常见错误。在大多数情况下,我已经能够通过重写查询来解决它,以便使用 SelectMany() 将与其他表的关系从 WHERE 谓词(它很容易成为动态)移到查询的主体中。这往往会使发送到数据库服务器的查询变平,而 Oracle 似乎需要这样做。

0 投票
1 回答
934 浏览

oracle - 使用 EF 5.0 返回缺少多对多记录的对象

鉴于下面的架构,我正在尝试构建一个 EF 查询,该查询返回缺少所需表单的联系人。每个联系人都有一个与 FormTypes 集合相关的 ContactType。每个联系人都需要至少有一个表单(在 ContactForm 中)与其 ContactType 相关的 FormTypes。

EF 从下面的 linq 查询生成的查询适用于 Sql Server,但不适用于 Oracle。

我正在重构一个数据层,以便所有适用于 Sql Server 的 EF 查询也将适用于使用 Devart 的 dotConnect 数据提供程序的 Oracle。

Oracle 抛出的错误是 ORA-00904: "Extent1"."ContactID": invalid identifier。

问题是 Oracle 显然不支持从 2 级或更深的嵌套子查询中的查询引用表列。Oracle 抛出的行是在引用“Extent1”.“ContactID”的除外(或减号)子查询中。“Extent1”是在查询顶层定义的联系人的别名。这是 Devart 对 Oracle 限制的解释

我为许多查询解决此问题的方法是重写它们以使用 SelectMany() 和在某些情况下使用 Join() 将表之间的关系从 Where() 谓词中移到查询的主体中。这往往会使发送到数据库服务器的查询变得扁平化,并最大限度地减少或消除 EF 产生的子查询。 这是使用左外连接解决的类似问题

"Extent1"."ContactID" 列存在,EF 和 Devart 生成的查询的命名语法不是问题。

任何关于如何重写此查询的想法将不胜感激。目标是一个查询,该查询返回联系人缺少适用于 Oracle 和 Sql Server 的联系人的 ContactType 所需的 FormType 表单。

在此处输入图像描述

0 投票
1 回答
323 浏览

identifier - ORA-00904: "CITYCODE": CREATE TABLE 中的标识符无效

所以,我对 sql 不是很好,我想把两个表都搞定。一个叫 CITY,PK 是 Citycode,另一个叫 Warehouse,它使用 Citycode 作为 FK。即使这是错误的,我也不感到惊讶。

这是我的两个 CREATE 请求:

然后,当我在 iSQL 中运行它们时,我收到错误 ORA-00904: "CITYCODE": invalid identifier。关于这个错误,我只能找到 SELECT 语句。

谢谢 :)

0 投票
2 回答
1465 浏览

nhibernate - Fluent NHibernate - ORA-00904: : 标识符无效,因为对象属性名称是 oracle 关键字

我使用 Fluent NHibernate 为 Oracle 数据库自动映射。My Domain 类有一些 Oracle 关键字作为属性名称。示例:组是 Oracle 中的关键字。当我们使用 Group 作为列时,它需要用引号括起来(如“Group”)。我们如何在 Fluent NHibernate 中处理这个问题?

我修改了 IColumnInstances 以添加 ColumnName 方法并添加了一个约定。添加此代码后,它会引发另一个错误“ORA-00907:缺少右括号”。有没有替代的解决方案?

这是代码

0 投票
1 回答
448 浏览

ora-00904 - ORA-00904: "S"."EMPLID": 标识符无效

0 投票
0 回答
519 浏览

oracle - 没有“SELECT”语句的过程中出现 ORA 00904 错误

我有一个简单的过程,应该删除早于给定输入参数“p_date”的“CREATEDATE”的所有行。
出于某种原因,我不断得到"ORA-00904: "P_DATE": invalid identifier":

0 投票
2 回答
1061 浏览

sql - ddl 语句中的 oracle 是否区分大小写

以下无法执行

给出输出

但是将“id”更改为“ID”可以正常工作

以下也可以正常工作

感谢是否有人可以回答在 DDL 语句中指定“ID”而不是仅 id 的效果。oracle 区分大小写还是不区分大小写

0 投票
1 回答
9706 浏览

sql - Oracle 包含提供无效标识符 ORA-00904

所以我有一个 webapp,它接受一个字符串,其中 ID 元素被“-”(例如someid1-someid2)分解。然后我将字符串转换为类似someid1 OR someid2. 根据Oracle的文档,这在理论上应该允许我做类似的事情

但是,在 SQL Dev 中运行示例查询时出现以下错误:

ORA-00904:“包含”:无效标识符
00904。00000 -“%s:无效标识符”
*原因:
*操作:

Oracle 版本是Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production文档所针对的版本,所以我不明白为什么CONTAINS会被视为无效标识符。添加其他可选参数

也给出了同样的错误。我/它在这里做错了什么?

编辑:
根据要求“工作代码”虽然可以说它不起作用

0 投票
1 回答
2192 浏览

sql - Oracle 11g ORA-00904 中的抽象数据类型:标识符无效

Oracle 版本: Oracle Database 11g Express Edition Release 11.2.0.2.0- 生产

上述语句显示错误 -

ORA-00904: "PERSON"."FULLNAME": 无效标识符

如何解决错误?

谢谢