【发布时间】:2012-03-13 22:40:19
【问题描述】:
以下查询:
SELECT * FROM VIEW_NAME_HERE
导致ORA-00911: invalid character 错误。我尝试使用 SQL Developer、Oracle SQL Developer、Toad 和 java 应用程序来执行它。
VIEW_NAME_HERE 是一个视图。用于创建视图的 SQL 查询如下:
SELECT DISTINCT table1_alias.id2 AS col1 ,
table1_alias.col2,
table1_alias.col3
FROM table1
INNER JOIN table1 table1_alias
ON table1.id1 =table1_alias.id2
WHERE table1_alias.id2<>-55 AND table1_alias.LVL=1
UNION
SELECT col1 ,col2,col3
FROM table2 WHERE col1> 0 AND col4 = 1
AND LVL = 2
SELECT * 从其他视图和表中正常工作。
欢迎任何提示。
【问题讨论】:
-
你能发布视图定义吗?
-
实际视图名称是什么?
create view命令中的名称是否用双引号括起来? -
查询对我来说看起来不错...我建议重新创建视图并确保没有编译错误。 Oracle 发出警告,但即使出现一些错误也会创建视图
-
是的,但是 Oracle 不会抛出 ORA-00911;它抛出
ORA-04063: view [schema].[viewname] has errors -
你没有给 `table` 加上别名,但使用别名是不是打错字了?