當前正在研究籃球性能數據庫。我遇到的問題是存儲比賽的勝者。 對照表目前像這樣:在ORACLE中插入數據時根據條件設置列
CREATE TABLE Matches(
M_ID int CONSTRAINT pk_Match PRIMARY KEY,
M_Date Date NOT NULL,
M_Location varchar(20),
M_HomeTeam int NOT NULL,
M_AwayTeam int NOT NULL,
M_HomeScore int NOT NULL,
M_AwayScore int NOT NULL,
M_Winner int,
CONSTRAINT fk_TeamHome foreign key (M_HomeTeam) REFERENCES Team(T_ID),
CONSTRAINT fk_TeamAway foreign key (M_AwayTeam) REFERENCES Team(T_ID)
)
我要的是M_Winner的值設置爲M_HomeTeam &根據自己的分數M_AwayTeam外鍵。 我已經能夠用這條update語句
UPDATE Matches
SET M_Winner = CASE
WHEN M_HomeScore > M_AwayScore
THEN M_HomeTeam
WHEN M_AwayScore > M_HomeScore
THEN M_AwayTeam
END;
做到這一點不過,我需要插入數據時,它的工作。 任何想法?
作爲@GordonLinoff會在30秒內告訴你,你可以使用觸發器來做到這一點。 –
錯誤:-)他有一個更好的解決方案。 – trincot