OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database

SQL - V4.1.0Enterprise Edition

    Download PDF

    OceanBase logo

    The Unified Distributed Database for the AI Era.

    Follow Us
    Products
    OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
    Resources
    DocsBlogLive DemosTraining & Certification
    Company
    About OceanBaseTrust CenterLegalPartnerContact Us
    Follow Us

    © OceanBase 2026. All rights reserved

    Cloud Service AgreementPrivacy PolicySecurity
    Contact Us
    Document Feedback
    1. Documentation Center
    2. OceanBase Database
    3. SQL
    4. V4.1.0
    iconOceanBase Database
    SQL - V 4.1.0Enterprise Edition
    SQL
    KV
    • V 4.4.2
    • V 4.3.5
    • V 4.3.3
    • V 4.3.1
    • V 4.3.0
    • V 4.2.5
    • V 4.2.2
    • V 4.2.1
    • V 4.2.0
    • V 4.1.0
    • V 4.0.0
    • V 3.1.4 and earlier

    ORA-50000 to ORA-99999

    Last Updated:2023-08-18 07:17:13  Updated
    share
    What is on this page
    ORA-54002: only pure functions can be specified in a virtual column expression
    ORA-54003: specified data type is not supported for a virtual column
    ORA-54004: resultant data type of virtual column is not supported
    ORA-54013: INSERT operation disallowed on virtual columns
    ORA-54016: Invalid column expression was specified
    ORA-54017: UPDATE operation disallowed on virtual columns
    ORA-54021: Cannot use PL/SQL expressions in partitioning or subpartitioning columns
    ORA-54023: Virtual column expression cannot be changed because a constraint is defined on column
    ORA-54029: Virtual column cannot be updated in trigger body
    ORA-54037: table must have at least 1 column that is not virtual
    ORA-54039: table must have at least one column that is not invisible
    ORA-54042: Invisible column is not supported on this type of table
    ORA-54046: Column visibility modifications cannot be combined with any other modified column DDL option
    ORA-54048: Column expression modifications cannot be combined with any other column DDL operation
    ORA-54053: The visibility of a column from a table owned by a SYS user cannot be changed
    ORA-56901: non-constant expression is not allowed for pivot|unpivot values
    ORA-56902: expect aggregate function inside pivot operation
    ORA-56713: insufficient Resource Manager privileges
    ORA-62550: Invalid SQL ROW LIMITING expression was specified
    ORA-64601: duplicate RESTART specified
    ORA-64403: Input cannot be null

    folded

    share

    Applicability

    This topic applies only to OceanBase Database Enterprise Edition. OceanBase Database Community Edition provides only MySQL mode.

    ORA-54002: only pure functions can be specified in a virtual column expression

    • Error code in OceanBase Database: 5906

    • SQLSTATE: HY000

    • Cause: The virtual column expression contains a function whose evaluation is non-deterministic.

    • Solution: Rewrite the column expression to reference only pure functions.

    ORA-54003: specified data type is not supported for a virtual column

    • Error code in OceanBase Database: 5893

    • SQLSTATE: HY000

    • Cause: Only scalar data types are supported for virtual columns. LONG, BLOB, REF, and BFILE data types are not supported for virtual columns.

    • Solution: Specify a supported scalar data type for the expression column.

    ORA-54004: resultant data type of virtual column is not supported

    • Error code in OceanBase Database: 5401

    • SQLSTATE: HY000

    • Cause: The data type of the underlying expression is not supported. Only scalar data types are supported for virtual columns. LONG, BLOB, REF, and BFILE data types are not supported for virtual columns.

    • Solution: Specify a supported scalar data type for the virtual column expression.

    ORA-54013: INSERT operation disallowed on virtual columns

    • Error code in OceanBase Database: 5290

    • SQLSTATE: HY000

    • Cause: You attempted to insert values into a virtual column.

    • Solution: Re-execute the statement without providing values for the virtual column.

    ORA-54016: Invalid column expression was specified

    • Error code in OceanBase Database: 5908

    • SQLSTATE: HY000

    • Cause: The virtual column expression is not a valid arithmetic expression. It probably refers to another column in the table.

    • Solution: Change the expression of the virtual column.

    ORA-54017: UPDATE operation disallowed on virtual columns

    • Error code in OceanBase Database: 5907

    • SQLSTATE: HY000

    • Cause: You attempted to update values of a virtual column.

    • Solution: Re-execute the statement without setting values for the virtual column.

    ORA-54021: Cannot use PL/SQL expressions in partitioning or subpartitioning columns

    • Error code in OceanBase Database: 5995

    • SQLSTATE: HY000

    • Cause: You attempted to partition a table on a virtual column that contained PL/SQL expressions.

    Note

    This error code is introduced since OceanBase Database V4.0.0.

    ORA-54023: Virtual column expression cannot be changed because a constraint is defined on column

    • Error code in OceanBase Database: 5948

    • SQLSTATE: HY000

    • Cause: You attempted to change the values of a virtual column in a trigger body.

    • Solution: Do not change the values of virtual columns in triggers.

    ORA-54029: Virtual column cannot be updated in trigger body

    • Error code in OceanBase Database: 5703

    • SQLSTATE: HY000

    • Cause: You attempted to change the values of a virtual column in a trigger body.

    • Solution: The operation is invalid. You must change the trigger definition.

    Note

    This error code is introduced since OceanBase Database V4.0.0.

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

    • Error code in OceanBase Database: 5904

    • SQLSTATE: 42000

    • Cause: You attempted to create a table with only virtual columns.

    • Solution: Create a table that contains at least one non-virtual column.

    ORA-54039: table must have at least one column that is not invisible

    • Error code in OceanBase Database: 5679

    • SQLSTATE: HY000

    • Cause: You attempted to create or modify a table to make it contain only invisible columns.

    • Solution: Ensure that the table contains at least one visible column.

    ORA-54042: Invisible column is not supported on this type of table

    • Error code in OceanBase Database: 5680

    • SQLSTATE: HY000

    • Cause: You attempted to create invisible columns or modify the visibility of columns, but the current table does not support invisible columns. Only heap tables and index organized tables (IOT) support invisible columns.

    • Solution: Modify the DDL statement.

    ORA-54046: Column visibility modifications cannot be combined with any other modified column DDL option

    • Error code in OceanBase Database: 5681

    • SQLSTATE: HY000

    • Cause: You attempted to combine a column visibility modification operation with other column attribute modification operations.

    • Solution: Create an independent DDL statement for the column visibility modification operation.

    ORA-54048: Column expression modifications cannot be combined with any other column DDL operation

    • Error code in OceanBase Database: 5947

    • SQLSTATE: HY000

    • Cause: You attempted to combine a column expression modification operation with other column operations.

    • Solution: Create an independent DDL statement for the column expression modification operation.

    ORA-54053: The visibility of a column from a table owned by a SYS user cannot be changed

    • Error code in OceanBase Database: 5682

    • SQLSTATE: HY000

    • Cause: You attempted to modify the visibility of columns in a table owned by the SYS user.

    • Solution: Execute this DDL statement on tables not owned by the SYS user.

    ORA-56901: non-constant expression is not allowed for pivot|unpivot values

    • Error code in OceanBase Database: 5805

    • SQLSTATE: HY000

    • Cause: You attempted to use a non-constant expression for pivot and unpivot values.

    • Solution: Use a constant expression for pivot and unpivot values.

    ORA-56902: expect aggregate function inside pivot operation

    • Error code in OceanBase Database: 5806

    • SQLSTATE: HY000

    • Cause: You attempted to use non-aggregate expressions in pivot operations.

    • Solution: Use aggregate expressions.

    ORA-56713: insufficient Resource Manager privileges

    • Error code in OceanBase Database: 4715

    • SQLSTATE: HY000

    • Cause: You do not have the Resource Manager privilege.

    • Solution: Execute related operations as the root user.

    ORA-62550: Invalid SQL ROW LIMITING expression was specified

    • Error code in OceanBase Database: 5831

    • SQLSTATE: HY000

    • Cause: The ROW LIMITING expression of the SQL statement contains components other than literals, bind variables, correlation variables, or subqueries.

    • Solution: Modify the ROW LIMITING expression of the SQL statement and retry the operation.

    ORA-64601: duplicate RESTART specified

    • Error code in OceanBase Database: 4382

    • SQLSTATE: HY000

    • Cause: You specified duplicate RESTART in the ALTER SEQUENCE command.

    • Solution: Delete the duplicate RESTART.

    ORA-64403: Input cannot be null

    • Error code in OceanBase Database: 5471
    • SQLSTATE: 42000
    • Cause: The input cannot be NULL.
    • Solution: Enter the input parameter.

    Note

    This error code is introduced since OceanBase Database V4.1.0.

    Previous topic

    ORA-30000 to ORA-49999
    Last

    Next topic

    PLS-00000 to PLS-00999
    Next
    What is on this page
    ORA-54002: only pure functions can be specified in a virtual column expression
    ORA-54003: specified data type is not supported for a virtual column
    ORA-54004: resultant data type of virtual column is not supported
    ORA-54013: INSERT operation disallowed on virtual columns
    ORA-54016: Invalid column expression was specified
    ORA-54017: UPDATE operation disallowed on virtual columns
    ORA-54021: Cannot use PL/SQL expressions in partitioning or subpartitioning columns
    ORA-54023: Virtual column expression cannot be changed because a constraint is defined on column
    ORA-54029: Virtual column cannot be updated in trigger body
    ORA-54037: table must have at least 1 column that is not virtual
    ORA-54039: table must have at least one column that is not invisible
    ORA-54042: Invisible column is not supported on this type of table
    ORA-54046: Column visibility modifications cannot be combined with any other modified column DDL option
    ORA-54048: Column expression modifications cannot be combined with any other column DDL operation
    ORA-54053: The visibility of a column from a table owned by a SYS user cannot be changed
    ORA-56901: non-constant expression is not allowed for pivot|unpivot values
    ORA-56902: expect aggregate function inside pivot operation
    ORA-56713: insufficient Resource Manager privileges
    ORA-62550: Invalid SQL ROW LIMITING expression was specified
    ORA-64601: duplicate RESTART specified
    ORA-64403: Input cannot be null