我无法创建此表。 它说列名已经被另一个对象使用了???
答案 0 :(得分:2)
ORA-00955
错误意味着您的数据库中有一个与您的表名相同的对象。
要检查现有对象,您可以查询 [ALL | USER | DBA] _OBJECTS 视图:
SELECT object_name, object_type FROM USER_OBJECTS WHERE OBJECT_NAME = 'DEPT_X1';;
答案 1 :(得分:0)
问题不在于您的列名,而在于您的表名。数据库中已经存在一个名为DEPT_X1
的表,可能是因为您多次执行此命令。要验证这一点,请执行以下查询:
SELECT * FROM USER_OBJECTS WHERE OBJECT_NAME = 'DEPT_X1';
如果此查询返回数据,则表示数据库中已存在名为DEPT_X1
的内容。要查看上面查询返回的数据中OBJECT_TYPE
列的内容。如果OBJECT_TYPE
= 'TABLE'
,则表示现有的DEPT_X1
是一个表格;如果OBJECT_TYPE
= 'SEQUENCE'
,则表示DEPT_X1
是一个序列;让我们说,为了论证,现有的DEPT_X1
是一个表,你想摆脱已经存在的那个,所以你可以创建另一个。您需要使用类似于以下内容的DROP TABLE
命令:
DROP TABLE DEPT_X1;
成功运行上述内容后,您可以使用现有脚本重新创建表。如果现有的DEPT_X1
是某种其他类型的数据库对象,则必须对该特定类型的对象使用正确的DROP
命令 - 有许多不同的DROP
命令{{3} }。
祝你好运。