ORA-48939: Select * not allowed in a CREATE VIEW

文档解释

ORA-48939: Select * not allowed in a CREATE VIEW

Cause: * is currently not allowed for a create view select list

Action: List the fields explicitly

ORA-48939错误是Oracle 数据库中不允许SELECT * 在CREATE VIEW中使用的SQL语句异常。

官方解释

这种ORA-48939错误表明,当使用SELECT * 忙指定CREATE VIEW 语句时,非常产生了一个错误。在创建一个新的视图时,应该避免使用 “SELECT *” 来搜索查询,这是不被支持的。

常见案例

CREATE VIEW test_view SELECT * FROM test_table;

此案例中,CREATE VIEW 语句正在使用SELECT * 来给test_view视图指定查询条件。

一般处理方法及步骤

1.避免使用“SELECT *”语句,而要指定视图中应检索哪些列:

CREATE VIEW test_view (column1,column2,column3) AS SELECT column1,column2,column3 FROM test_table;

2. 指定具体列,而不是使用SELECT *,因为如果存在一个新列,旧SELECT *语句将不会包括此新列,从而出现问题。

3. 如果视图的列是动态的,则可以考虑使用临时表:

SELECT column1,column2,column3into test_temp FROM test_table;

CREATE VIEW test_view AS SELECT * FROM test_temp;

你可能感兴趣的