本文介绍 OceanBase 数据库 Oracle 模式下查询表时表不存在并报 ORA-04043 错误的处理方法。
问题现象
查询 student 表时,显示表不存在。
obclient [SYS]> desc student;
ORA-04043: object SYS.STUDENT does not exist
该报错信息对应的错误码信息如下:
ORA-04043
OceanBase 错误码:5400
SQLSTATE:HY000
可能原因
在进行表操作时,如果待操作的表不存在,系统就会报错。
解决方法
请参考以下操作,确认表是否存在,再根据需要创建对应的表。
如果不存在,建议先检查表名称是否书写正确;如果确认无误,可以通过
CREATE TABLE来创建需要的表。示例如下:obclient [SYS]> CREATE TABLE student( id NUMBER, name varchar2(18), sex char(1), age NUMBER, address varchar2(200), email varchar2(100), c_date date, PRIMARY KEY (id) );创建成功后,查看创建的表的表结构。
obclient [SYS]> desc student; +---------+---------------+------+-----+----------+-------+ | FIELD | TYPE | NULL | KEY | DEFAULT | EXTRA | +---------+---------------+------+-----+----------+-------+ | ID | NUMBER(38) | NO | PRI | NULL | NULL | | NAME | VARCHAR2(18) | YES | NULL | NULL | NULL | | SEX | CHAR(1) | YES | NULL | NULL | NULL | | AGE | NUMBER(38) | YES | NULL | NULL | NULL | | ADDRESS | VARCHAR2(200) | YES | NULL | NULL | NULL | | EMAIL | VARCHAR2(100) | YES | NULL | NULL | NULL | | C_DATE | DATE | YES | NULL | NULL | NULL | +---------+---------------+------+-----+---------+-------+ 7 rows in set