2016-10-08 9 views
-1

私はすべてのテーブルを作成することができ、これらの外部キーORA-02270:この列リストのヘルプに該当する一意キーまたは主キーのpls

alter table Pembeli add constraint pm_fk1 FOREIGN KEY (ID_Pembeli) references kasir(ID_pembeli) 

alter table Pembeli add constraint pm_fk2 FOREIGN KEY (ID_Pembeli) references tiket(ID_pembeli) 

でこの

create table Pembeli(
ID_pembeli number(16) constraint pm_id_p_pk_fk PRIMARY KEY, 
Nama_pembeli varchar2(30) constraint pm_nama_pembeli_nn NOT NULL, 
Nama_penumpang varchar2(30) constraint pm_nama_penumpang_nn NOT NULL, 
Nama_kereta varchar2(30) constraint pm_nama_kereta_nn NOT NULL, 
Kelas varchar2(10) constraint pm_kelas_nn NOT NULL 
) 

create table Kereta(
ID_Kereta number(3) constraint kr_id_kereta_pk_fk PRIMARY KEY, 
Nama_Kereta varchar2(30) constraint kr_nama_kereta_nn NOT NULL, 
Jam_keberangkatan TIMESTAMP default systimestamp, 
Jam_tiba TIMESTAMP default systimestamp, 
Stasiun_asal varchar2(20) constraint kr_stasiun_asal_nn NOT NULL, 
Stasiun_tujuan varchar2(20) constraint kr_stasiun_tujuan_nn NOT NULL, 
Harga number(7) constraint kr_harga_nn NOT NULL 
) 

create table Kelas(
ID_Pembeli number(16) constraint kl_id_pembeli_pk_fk PRIMARY KEY, 
Nama_kelas varchar2(30) constraint kl_nama_kelas_nn NOT NULL, 
Harga number (7) constraint kl_harga_nn NOT NULL 
) 

create table Tiket(
ID_Tiket varchar2(10), 
ID_Pembeli number(16), 
No_Duduk varchar(3) constraint tk_no_nn NOT NULL, 
ID_Kereta number(3), 
Kelas varchar2(10) constraint tk_kelas_nn NOT NULL, 
Jumlah number(3) constraint tk_jml_nn NOT NULL, 
CONSTRAINT tk_pk PRIMARY KEY(ID_Tiket,ID_Pembeli) 
) 

create table Kasir(
ID_Kasir varchar2(10), 
Nama_kasir varchar2(30) constraint ks_nama_kasir_nn NOT NULL, 
Uang number(7) constraint ks_uang_nn NOT NULL, 
Harga number(7) constraint ks_harga_nn NOT NULL, 
Kembalian number(7) constraint ks_kembalian_nn NOT NULL, 
ID_Pembeli number(16), 
CONSTRAINT ks_pk PRIMARY KEY(ID_Kasir,ID_Pembeli) 
) 

のようないくつかのテーブルを作り、私はテーブルに制約の外部キーを追加しようとしたときに固執する:私は、alter tableコマンドを実行するとエラーが発生します。誰か助けてくれますか?

+0

[Oracle(ORA-02270):この列リスト・エラーに一致する固有キーまたは主キーがありません](http://stackoverflow.com/questions/10802212/oracle-ora-02270-no-matching- unique-or-primary-key-for-this-column-list-erro) – rbr94

答えて

0

間違いは明らかです。ある列を複合主キー(2列)を持つ表を指す外部キーにしようとしています。それはうまくいかない。

しかし、ID_PembeliはすでにPembeliテーブルでPKとして宣言されています。外部キーを逆にしたいと思っているようです:テーブルkasirとticketを変更し、両方のテーブルでID Pembeliの外部キーを作成し、テーブルPembeliを参照したいとします。それはより意味をなさないと働くでしょう。 ALTER TABLEステートメントを修正してください。

関連する問題