文档解释
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;