ORA-54037: table must have at least 1 column that is not virtual

文档解释

ORA-54037: table must have at least 1 column that is not virtual

Cause: An attempt was made to create a table with only virtual columns.

Action: Include at least 1 column that is not virtual in the table being created.

**ORA-54037: table must have at least 1 column that is not virtual**

错误说明:

ORA-54037 错误是表必须至少具有1个非虚拟列抛出的。当您创建表时,在数据库中定义一个新的表时,每一列都有一个与之关联的数据类型。虚拟列由于找不到对应的基础列,而不能有效地创建虚拟列。

常见案例

ORA-54037 错误基本上发生在运行以下语句时:

“`

CREATE TABLE T1 ( C1 AS (SELECT ‘X’) );

“`

“`

CREATE TABLE T1 ( C1 VIRTUAL (SELECT ‘X’) );

“`

解决方法:

要解决此错误,只要添加一个非虚拟列到表中,即可满足这一要求。例如:

“`

CREATE TABLE T1 ( C1 AS (SELECT ‘X’), C2 VARCHAR2(10) );

“`

“`

CREATE TABLE T1 ( C1 VIRTUAL (SELECT ‘X’), C2 VARCHAR2(10) );

“`

这样,T1 表就包含了一个以上的非虚拟列,可以避免ORA-54037错误,成功地创建表。

你可能感兴趣的