0

主キーをデータベース内の他のテーブルに転送できるように、テーブルを制約付きで更新しようとしています....そのようにはなりません。これが私のコードです

CREATE TABLE APPLICANT (
            Name VARCHAR(40) NOT NULL,
            Email VARCHAR(40) NOT NULL,
            CompanyName VARCHAR(50) NOT NULL,
            Phone VARCHAR(15) NOT NULL,
            Fax VARCHAR(15) NOT NULL,
            GovernmentEmployee BOOLEAN NOT NULL,
            Academic BOOLEAN NOT NULL,
            InternationalAttendee BOOLEAN NOT NULL,
            Speaker BOOLEAN NOT NULL,
            Presenter BOOLEAN NOT NULL,
            FirstTimeAttendee BOOLEAN NOT NULL,
            PRIMARY KEY (Name, Email)
);


CREATE TABLE TIME (
            TimeAnswer VARCHAR(30) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            Email VARCHAR(40) NOT NULL,
            PRIMARY KEY (TimeAnswer, Name, Email)
);


CREATE TABLE DAY (
            DayAnswer VARCHAR(30) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            Email VARCHAR(40) NOT NULL,
            PRIMARY KEY (DayAnswer, Name, Email)
 );


 CREATE TABLE LOCATION (
            Address VARCHAR(50) NOT NULL,
            ZIP NUMERIC(5) NOT NULL,
            LocationName VARCHAR(40) NOT NULL,
            LocationEmail VARCHAR(40) NOT NULL,
            State VARCHAR(2) NOT NULL,
            Country VARCHAR(30) NOT NULL,
            City VARCHAR(30) NOT NULL,
            PRIMARY KEY (Address, ZIP)
);


CREATE TABLE WORKSHOP_SESSIONS (
            Email VARCHAR(40) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            WorkshopAnswer VARCHAR(15) NOT NULL,
            PRIMARY KEY (Email, Name)
 );


 CREATE TABLE WORKSHOP_DAY_TIME (
            Email VARCHAR(40) NOT NULL,
            Name VARCHAR(40) NOT NULL,
            DayAnswer VARCHAR(30) NOT NULL,
            TimeAnswer VARCHAR(30) NOT NULL,
            PRIMARY KEY (Email, Name, DayAnswer, TimeAnswer)
 );


 ALTER TABLE WORKSHOP_SESSIONS ADD CONSTRAINT information_workshop_sessions_fk
 FOREIGN KEY (Email, Name)
 REFERENCES APPLICANT (Email, Name)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE LOCATION ADD CONSTRAINT applicant_location_fk
 FOREIGN KEY (LocationEmail, LocationName)
 REFERENCES APPLICANT (Email, Name)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE DAY ADD CONSTRAINT applicant_day_fk
 FOREIGN KEY (Email, Name)
 REFERENCES APPLICANT (Email, Name)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE TIME ADD CONSTRAINT applicant_time_fk
 FOREIGN KEY (Name, Email)
 REFERENCES APPLICANT (Name, Email)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE WORKSHOP_DAY_TIME ADD CONSTRAINT time_workshop_day_time_fk
 FOREIGN KEY (TimeAnswer)
 REFERENCES TIME (TimeAnswer)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

 ALTER TABLE WORKSHOP_DAY_TIME ADD CONSTRAINT day_workshop_day_time_fk
 FOREIGN KEY (DayAnswer)
 REFERENCES DAY (DayAnswer)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION;

  ALTER TABLE WORKSHOP_DAY_TIME ADD CONSTRAINT workshop_sessions_workshop_day_time_fk
  FOREIGN KEY (Email, Name)
  REFERENCES WORKSHOP_SESSIONS (Email, Name)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;
4

1 に答える 1

1

すべてのテーブルがうまく機能します。

デモ

于 2013-04-24T15:49:17.900 に答える