-3
残りの部分に外部キーを使用して3つのテーブル2を作成しようとしています。私はテーブルにデータを挿入しようとするとエラーコードが出てくるので、テーブルを作成してそこに修正しようとしました。次のようにコードは次のとおりです。すべてのヘルプは素晴らしいのおかげだろうSQL無効な識別子コード
SQL>
SQL>
SQL> -- All the DROP TABLE in the beginning.
SQL>
SQL> DROP TABLE movie CASCADE CONSTRAINTS;
DROP TABLE movie CASCADE CONSTRAINTS
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> DROP TABLE companies CASCADE CONSTRAINTS;
DROP TABLE companies CASCADE CONSTRAINTS
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> DROP TABLE producer CASCADE CONSTRAINTS;
DROP TABLE producer CASCADE CONSTRAINTS
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL>
SQL> -- Creates Table CUSTOMER.
SQL>
SQL> CREATE TABLE CUSTOMER (
2 cust_ID NUMBER(10),
3 last_name VARCHAR2(20) NOT NULL,
4 first_name VARCHAR2(20) NOT NULL,
5 MI VARCHAR2(1) NOT NULL,
6 street VARCHAR2(30) NOT NULL,
7 city VARCHAR2(30) NOT NULL,
8 state VARCHAR2(30) NOT NULL,
9 zip_code VARCHAR2(20) NOT NULL,
10 CONSTRAINT customer_pk PRIMARY KEY(cust_ID));
CREATE TABLE CUSTOMER (
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL>
SQL> -- Creates Table SALE_VEHICLE.
SQL>
SQL> CREATE TABLE SALE_VEHICLE (
2 VIN NUMBER(20),
3 trade_ID NUMBER(10),
4 make VARCHAR2(30) NOT NULL,
5 model VARCHAR2(30) NOT NULL,
6 type VARCHAR2(30) NOT NULL,
7 where_frome VARCHAR2(30) NOT NULL,
8 wholesale_cost NUMBER(8,2)NOT NULL,
9 CONSTRAINT producer_pk PRIMARY KEY(VIN));
CREATE TABLE SALE_VEHICLE (
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL>
SQL>
SQL> -- Creates Table SALE.
SQL>
SQL> CREATE TABLE SALE (
2 sale_ID NUMBER(6),
3 cust_ID NUMBER(10),
4 salesperson_ID NUMBER(10),
5 VIN NUMBER(20),
6 date DATE NOT NULL,
7 vehicle_status VARCHAR2(20) NOT NULL,
8 milage VARCHAR2(20) NOT NULL,
9 gross_sale_price NUMBER(8,2)NOT NULL,
10 CONSTRAINT sale_pk PRIMARY KEY(sale_ID))
11 CONSTRAINT customers_fk2 FOREIGN KEY(cust_ID) REFERENCES CUSTOMER(cust_ID))
12 CONSTRAINT VIN_fk FOREIGN KEY(VIN) REFERENCES SALE_VEHICLE(VIN));
date DATE NOT NULL,
*
ERROR at line 6:
ORA-00904: : invalid identifier
SQL>
SQL> -- spool off command to turn off the spool with it you may not get the all the content spooled.
SQL>
SQL> set echo off
:
-- Spool the execution output to a text file. This spooled file serves as logs.
spool on
spool hw2.lst
set echo on
-- All the DROP TABLE in the beginning.
DROP TABLE movie CASCADE CONSTRAINTS;
DROP TABLE companies CASCADE CONSTRAINTS;
DROP TABLE producer CASCADE CONSTRAINTS;
-- Creates Table CUSTOMER.
CREATE TABLE CUSTOMER (
cust_ID NUMBER(10),
last_name VARCHAR2(20) NOT NULL,
first_name VARCHAR2(20) NOT NULL,
MI VARCHAR2(1) NOT NULL,
street VARCHAR2(30) NOT NULL,
city VARCHAR2(30) NOT NULL,
state VARCHAR2(30) NOT NULL,
zip_code VARCHAR2(20) NOT NULL,
CONSTRAINT customer_pk PRIMARY KEY(cust_ID));
-- Creates Table SALE_VEHICLE.
CREATE TABLE SALE_VEHICLE (
VIN NUMBER(20),
trade_ID NUMBER(10),
make VARCHAR2(30) NOT NULL,
model VARCHAR2(30) NOT NULL,
type VARCHAR2(30) NOT NULL,
where_frome VARCHAR2(30) NOT NULL,
wholesale_cost NUMBER(8,2)NOT NULL,
CONSTRAINT producer_pk PRIMARY KEY(VIN));
-- Creates Table SALE.
CREATE TABLE SALE (
sale_ID NUMBER(6),
cust_ID NUMBER(10),
salesperson_ID NUMBER(10),
VIN NUMBER(20),
date DATE NOT NULL,
vehicle_status VARCHAR2(20) NOT NULL,
milage VARCHAR2(20) NOT NULL,
gross_sale_price NUMBER(8,2)NOT NULL,
CONSTRAINT sale_pk PRIMARY KEY(sale_ID))
CONSTRAINT customers_fk2 FOREIGN KEY(cust_ID) REFERENCES CUSTOMER(cust_ID))
CONSTRAINT VIN_fk FOREIGN KEY(VIN) REFERENCES SALE_VEHICLE(VIN));
-- spool off command to turn off the spool with it you may not get the all the content spooled.
set echo off
spool off
これは、私は、SQLファイルを実行しようとした後にエコーされているものです。
。テーブルCustomer、Sale_Vehicle、Saleを作成し、顧客がすでに存在することを伝えます。なぜ作成していないテーブルをドロップするのですか?作成しているテーブルをドロップしないのはなぜですか?列名に 'date'というキーワードを使用してもうまくいきません。それを「区切り識別子」(二重引用符で囲むか、角括弧などのプラットフォーム固有の代替)でマークするか、別の名前を使用する必要があります。 –
DB Case Insensitiveを設定しましたか? createコマンドのテーブル名は大文字で、DROPは小文字です。これがあなたの問題であるかどうかはわかりませんが、試してみる価値があります。 – FDavidov
私のクラスでは、私は教授を取っているので、スクリプトを実行するたびにエラーメッセージテーブルが存在しないように、テーブルを削除することは良い習慣であると言います。 –