问题标签 [ora-01446]

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 回答
19701 浏览

sql - ORA-01446 - 无法使用 DISTINCT、GROUP BY 等从视图中选择 ROWID

我创建了一个在 select 子句中有不同的视图。

当我尝试使用“select * from view”选择所有记录时,出现以下错误:

我正在寻找为什么会发生这种情况并得出了这个结论:

您试图创建一个在 SELECT 语句中包含 ROWID 以及 DISTINCT 或 GROUP BY 等子句的视图。这是不允许的。参考

这很尴尬,因为视图中的 select 语句没有选择 rowid,并且没有在任何其他子句(where、order 等)中使用。

对此有任何想法吗?

更新

我无法发布查询本身,但我发布了一个类似的。这里是:

0 投票
2 回答
3125 浏览

sql - SQL Developer - 视图、行 ID 和插入

"CID","NAME","EMAIL","LOC" 是两个表的属性

创建视图 TEST_V 为

从表 1 中选择 *

联盟

从表2中选择*;


插入 TEST_ERROR(Source_Rowid、Source_Table、Filter_Id、Date_Time、Action)

选择 ROWID, 'TEST_V', 100, sysdate,'Request Admin'

来自 TEST_V

其中 LOC =(从位置选择 CityList);

Location 是另一个表,其中定义了 CityList,我想将 CityList 与 LOC 匹配,然后添加行。

我得到的错误是:

SQL 错误:ORA-01446:无法从具有 DISTINCT、GROUP BY 等的视图中选择 ROWID 或对其进行采样。01446. 00000 -“无法从具有 DISTINCT、GROUP BY 等的视图中选择或采样 ROWID。”

0 投票
1 回答
7197 浏览

sql - ORA-01446: 无法从具有 DISTINCT、GROUP BY 等的视图中选择 ROWID 或采样

只是试图在客户表中插入一个未包含在错误表中的行。

- 看法

-- 插入语句

我得到的错误是ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc. 01446. 00000 - “cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY等。”