まず、私はdbとsqlの真の初心者です。しかし、私はテーブル、PERSONとSPECIESを持っていなければなりません。テーブルSPECIESに外部キーを追加したいと思います。外部キーを追加しようとすると、エラーメッセージ "ORA-900904:invalid identifier"が表示されます。私は何が間違っていたのか、それがなぜうまくいかないのか分かりません。oracle sql:テーブルに外部キーを追加できません - >無効な識別子ですか?
これは私のアプローチでした:
PERSONテーブルおよび主キー
create table person
(
name varchar2 (30),
firstname varchar2 (30),
persid number (8) not null
)
;
alter table person
add constraint person_pk
primary key (persid)
;
種テーブルと主キー
create table species
(
speciesnamelat varchar2 (30),
vartid number (8) not null
)
;
alter table Species
add constraint species_pk
primary key (vartid)
;
この部分は「うまく働いたが、次のdidn仕事:
PERSON
alter table species
add constraint species_person_fk
foreign key (persid)
references person (persid)
;
を参照する種のための外部キー私はいつもこのエラーを取得し、「ORA-900904:無効な識別子」
これは、種表の属性を事前に構築する必要があることを意味しますか? – samjam
@samjamはい、 '種別 'の列を外部キーとして使用する必要があるということです。そのような列がない場合は、その制約を作成する前に構築する必要があります。 – Yahia
@samjam助けていただいた回答を忘れずにマークしてください(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workを参照) – Yahia