ORA-01731:遇到圆形视图定义

Omn*_*ent 1 sql oracle plsql

我们从sql server端迁移到oracle.

在sqlserver上我们曾经有过如下的视图

create view blah
AS 
Select column1, 
       column2
 FROM  blah;
Run Code Online (Sandbox Code Playgroud)

但在oracle上执行此操作会产生循环视图错误.

这是不允许在甲骨文方面?

Rob*_*Rob 5

您不能拥有视图引用本身.它在逻辑上没有意义.视图本质上是一个缓存查询,其结果显示为表.查询如何引用自身?

实际上,Oracle中不允许使用循环视图定义.如果您有循环视图定义,那么您的数据库代码中可能存在应该解决的错误.也许从SQL服务器到Oracle的翻译存在缺陷,并且意外地引入了这个循环定义?