2016-04-27 12 views
0

テーブル作成中にエラーが発生しました。テーブル名を変更する必要があることを意味しますが、同じ名前のオブジェクトは表示されません。 .lstのコピーは以下の通りです。ORA-00955 SQLテーブルの作成中

おかげ

SQL> CREATE TABLE CUSTOMERtable 
    2 (
    3   CUSTOMERID  INT NOT NULL, 
    4   CUSTNAME  VARCHAR2 (50) NOT NULL, 
    5   ADDRESS   VARCHAR2 (100) NOT NULL, 
    6   PHONENUMBER  VARCHAR2 (10) NOT NULL, 
    7   CONSTRAINT IDS_CUST_PK PRIMARY KEY (CUSTOMERID) 
    8 ); 
CREATE TABLE CUSTOMERtable 
      * 
ERROR at line 1: 
ORA-00955: name is already used by an existing object 


SQL> 
SQL> 
SQL> CREATE TABLE RENTALStable 
    2 (
    3   RENTALID  INT   NOT NULL, 
    4   OUTDATE   DATE NOT NULL, 
    5   INDATE  DATE NOT NULL, 
    6   LATEFEE   INT, 
    7   DAMAGEFEE  INT, 
    8   REWINDFEE  INT, 
    9   ID_CUSTOMER INT, 
10   CONSTRAINT RentalsTable_IDS_PK PRIMARY KEY (RENTALID), 
11   FOREIGN KEY (ID_CUSTOMER) REFERENCES CUSTOMERtable(CUSTOMERID) 
12 ); 

Table created. 
+4

'DESC CUSTOMERtable'や'選択* ALL_OBJECTSどこobject_nameのから= 'CUSTOMERTABLE' 'を指定すると、その名前ですでに存在するオブジェクトが表示されます。可能であれば、既存のオブジェクトを削除したいだけです。さて、私はなぜあなたがあなたのテーブルのそれぞれの名前に 'table'を置くのか想像できません。それはとても有用であるとは思えない。 –

答えて

2

これは、問題作成のオブジェクトを見つける必要があります:あなたはCUSTOMERtable(大文字と小文字)あなたの文を書く場合でも

select * 
    from user_objects 
    where object_name = 'CUSTOMERTABLE' 

お知らせを作成しようとしますテーブルCUSTOMERTABLE(大文字)。 あなたは二重引用符を使用する必要があります(と、それは私には良いアイデアではないようだ)同じ名前が異なる場合に2つのオブジェクトを保持する場合:

CREATE TABLE "CUSTOMERtable" (... 
関連する問題