0

テーブルの作成中にエラーが発生しました。テーブル名を変更する必要があることはわかっていますが、同じ名前のオブジェクトがありません。.lst のコピーを以下に示します。

ありがとう

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

1 に答える 1

2

これにより、問題を引き起こしているオブジェクトが見つかります。

select *
  from user_objects
  where object_name = 'CUSTOMERTABLE'

CUSTOMERtable( 大文字と小文字)を書いたとしても、ステートメントは(CUSTOMERTABLE大文字) という名前のテーブルを作成しようとすることに注意してください。同じ名前で大文字と小文字が異なる 2 つのオブジェクトを保持したい場合 (私には良い考えではないようです)、二重引用符を使用する必要があります。

CREATE TABLE "CUSTOMERtable" ( ...
于 2016-04-27T14:30:18.103 に答える