Oracle SQL,新建表报错ORA-00942

问题描述 投票:0回答:1

我遇到了 oracle SQL 的问题。我只是安装并使用了很短的时间。当我尝试创建新表时出现错误 ORA-00942“表或视图不存在”。我是这方面的新手,我试图找到类似的问题主题,但我只找到一个并且没有实际链接(创建表时“表或视图不存在”)。在另一个主题中,我没有发现任何对我有用的东西。我将不胜感激帮助我解决问题。

那个commend我试过了,然后出现错误:

CREATE TABLE customer1 (
    customer_id NUMBER(3) PRIMARY KEY,
    customer_name VARCHAR(255) NOT NULL,
    mobile_nr NUMBER(9) UNIQUE CHECK(LENGTH(mobile_nr)=9),
    age NUMBER(3) CHECK(age>=18),
    city_id NUMBER(4) REFERENCES cities(city_id)
);
sql oracle create-table ora-00942
1个回答
0
投票

ORA-00942错误发生在用户试图执行引用不存在或用户无权访问的表或视图的SQL语句时。在这种情况下,错误发生是因为“REFERENCES”子句中引用的表“cities”不存在或用户无权访问它。

要修复此错误,您需要确保“cities”表存在并且执行SQL 语句的用户具有访问它的必要权限。如果该表不存在,则需要先创建它,然后再创建“customer1”表。

假设存在“cities”表,可以通过执行如下SQL语句给用户授予必要的权限:

GRANT SELECT ON cities TO ;

将“”替换为执行SQL语句的用户的实际用户名。

一旦用户拥有必要的权限,就可以创建“customer1”表而不会遇到ORA-00942错误。

© www.soinside.com 2019 - 2024. All rights reserved.