CREATE VIEW CARAVAN AS
SELECT ANNUAL_RENT, BOOKING_FEE
FROM CARAVAN
WHERE ANNUAL_RENT < 3000
这是我失败的sql。错误是
ORA-00928:缺少SELECT关键字
答案 0 :(得分:3)
尝试只运行SELECT
声明:
SELECT ANNUAL_RENT, BOOKING_FEE
FROM CARAVAN
WHERE ANNUAL_RENT < 3000
看看是否会返回结果,或者是否会产生错误。
我怀疑CARAVAN
是一个INVALID
的视图。您可以使用字典视图中的查询来检查,例如
SELECT *
FROM dba_objects
WHERE object_name = 'CARAVAN'
如果您没有dba_objects
的权限,请改为引用all_objects
。
引用的CARAVAN
对象是架构中的对象,公共同义词或无效引用。
正如Alex Poole所提到的,通过使用CREATE FORCE VIEW
语句,可以创建一个语法无效的视图。 (我怀疑引用的对象CARAVAN
是一个包含无效语法的视图。)
Oracle中的标识符必须在模式中唯一。非常奇怪的是,您将创建一个名为CARAVAN
的视图,该视图引用已命名为CARAVAN
的对象。目前尚不清楚您尝试使用此特定CREATE VIEW
语句解决的问题。