-1

これら 2 つのコマンドを実行して新しいテーブルを作成していますが、2 番目の create table コマンドでエラーが発生し続けます。

CREATE TABLE TEAMSTADIUM(
stadium_name varchar2(40) not null,
stadium_max_capcity number(10) not null,
stadium_field_serface varchar2(40) not null,
stadium_year_built number(4) not null,
stadium_location varchar2(40) not null,
Primary KEY(stadium_name)
)


CREATE TABLE TEAMINFO(
team_name varchar2(40) not null,
team_owner varchar2(40) not null,
team_coach varchar2(40) not null,
team_created Date() not null,
PRIMARY KEY(team_name)
foreign key(stadium_name) references TEAMSTADIUM(stadium_name)
)
4

2 に答える 2

1

あなたのTEAMINFOテーブルは を参照TEAMSTADIUM.stadium_nameしていますが、そのような独自の列はありません。それを追加し、親テーブルとまったく同じデータ型であることを確認します。

CREATE TABLE TEAMINFO(
  team_name varchar2(40) not null,
  team_owner varchar2(40) not null,
  team_coach varchar2(40) not null,
  team_created Date not null,
  -- Remove ()    ^^
  -- This column must exist in both tables
  stadium_name varchar2(40) not null,
  PRIMARY KEY(team_name),
  -- missing comma     ^^
  foreign key(stadium_name) references TEAMSTADIUM(stadium_name)
)

上記の 3 つの変更を適用すると、正しく実行されます: http://sqlfiddle.com/#!4/883a4

于 2013-04-09T23:44:22.137 に答える
0

エンドテーブルのそれぞれの後Date not null;に置いて使ってみてください;)

CREATE TABLE TEAMINFO(
   stadium_name varchar2(40) not null,
   team_name varchar2(40) not null,
   team_owner varchar2(40) not null,
   team_coach varchar2(40) not null,
   team_created Date not null,
   PRIMARY KEY(team_name),
   foreign key(stadium_name) references TEAMSTADIUM(stadium_name)
);
于 2013-04-09T23:39:17.870 に答える