Я учусь создавать небольшую и простую базу данных для класса с ограничениями Первичный ключ и Внешний ключ. Я получаю ORA-02770 при попытке выполнить мою инструкцию ALTER TABLE, которая, как я понимаю, уведомляет меня о том, что столбец, на который я ссылаюсь во внешней таблице, не указан в качестве ограничения первичного ключа. Тем не менее, из того, что я вижу, мой синтаксис - правильное именование первичных ключей в моих операторах CREATE TABLES. Я искал в таблице all_cons_columns таблицу player_info, и она также показала первичные ключи в списке. Могу ли я получить руководство? Ниже приведен мой текущий скрипт:
CREATE TABLE Player_Game
( school varchar2(30),
player_number number(2,0),
game_number number(1,0),
CONSTRAINT playergame_pk PRIMARY KEY (school, player_number,game_number)
);
CREATE TABLE School
( school varchar2(30),
city varchar2(30),
coach varchar2(30),
team_name varchar2(30),
win_record number (2,0),
loss_record number (2,0),
CONSTRAINT school_pk PRIMARY KEY (school)
);
CREATE TABLE Game
( school varchar2(30),
game_number number(1,0),
game_date DATE,
game_score varchar2(15),
CONSTRAINT game_pk PRIMARY KEY (school, game_number)
);
CREATE TABLE player_info
( school varchar2(30),
player_number number(2,0),
player_name varchar2(25),
CONSTRAINT playerinfo_pk PRIMARY KEY (school, player_number)
);
CREATE TABLE city
( city varchar2(30),
population number(5,0),
CONSTRAINT city_pk PRIMARY KEY (city)
);
/*Here is the failing alter command */
ALTER TABLE Player_Game
ADD CONSTRAINT playergame_fk FOREIGN KEY (school) REFERENCES game(school);