当我开始编译脚本时,出现此错误。我是Oracle SQL的新手,所以-您能帮我吗?
CREATE TABLE EMPLOYEES
(
ID number(10) NOT NULL,
SALARY number(10) NOT NULL,
ADRESS varchar2(60),
SEX varchar2(60),
PHONE_NUMBER varchar2(10),
EMAIL varchar2(40),
EMPLOYEE_NAME varchar2(12 CHAR) NOT NULL,
SURNAME varchar2(20 CHAR) NOT NULL,
FATHER_NAME varchar2(20 CHAR) NOT NULL,
ID_DUTY number (15) NOT NULL
);
CREATE TABLE CLIENTS
(
ID number(10) NOT NULL,
CLIENT_NAME varchar2(12) NOT NULL,
SURNAME number(20) NOT NULL,
FATHER_NAME number(20) NOT NULL,
PHONE_NUMBER char(10) ,
ADRESS varchar(60)
);
错误截图:
您是否读过Oracle的回应?它说
ORA-00955:名称已被现有对象使用
这是什么意思?通常,这意味着名称employees
已经存在的表,并且您不能使用相同的名称-创建另一个对象employees
。该怎么办?您有两种选择:
However, that doesn't have to be a table that already exists - might be any other object, but uses the same name. For example, you might have had a view named employees
, or a procedure, a trigger, ... any object. In order to find out what it is, query user_objects
.
This is what you have now - you can't create a table:
SQL> CREATE TABLE employees(
2 id NUMBER(10)NOT NULL,
3 salary NUMBER(10)NOT NULL,
4 adress VARCHAR2(60),
5 sex VARCHAR2(60),
6 phone_number VARCHAR2(10),
7 email VARCHAR2(40),
8 employee_name VARCHAR2(12 CHAR)NOT NULL,
9 surname VARCHAR2(20 CHAR)NOT NULL,
10 father_name VARCHAR2(20 CHAR)NOT NULL,
11 id_duty NUMBER(15)NOT NULL
12 );
CREATE TABLE employees(
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
Which object - whose name is employees - do I already have?
SQL> select object_type from user_objects where object_name = 'EMPLOYEES';
OBJECT_TYPE
-------------------
TABLE
Aha, a table. How does it look like?
SQL> desc employees
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
Only one column? That's something stupid, probably I forgot to drop it. Does it contain any rows?
SQL> select * from employees;
no rows selected
No, it is empty. OK, so let's drop it and create my brand new employees
table:
SQL> drop table employees;
Table dropped.
SQL> CREATE TABLE employees(
2 id NUMBER(10)NOT NULL,
3 salary NUMBER(10)NOT NULL,
4 adress VARCHAR2(60),
5 sex VARCHAR2(60),
6 phone_number VARCHAR2(10),
7 email VARCHAR2(40),
8 employee_name VARCHAR2(12 CHAR)NOT NULL,
9 surname VARCHAR2(20 CHAR)NOT NULL,
10 father_name VARCHAR2(20 CHAR)NOT NULL,
11 id_duty NUMBER(15)NOT NULL
12 );
Table created.
SQL>
Much better.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句