blob: 4220baa3876373fecaaa56b24c2e72456b668d25 [file] [log] [blame]
DROP TRIGGER T_LEAGUE;
DROP TRIGGER T_PLAYER;
DROP TRIGGER T_TEAM;
DROP TABLE TEAMPLAYER;
DROP TABLE PLAYER;
DROP TABLE TEAM;
DROP TABLE LEAGUE;
CREATE TABLE PLAYER
(
PLAYER_ID VARCHAR(255) PRIMARY KEY NOT NULL,
NAME VARCHAR(255),
POSITION VARCHAR(255),
SALARY DOUBLE PRECISION NOT NULL,
VERSION NUMERIC(19) NOT NULL
);
CREATE TABLE LEAGUE
(
LEAGUE_ID VARCHAR(255) PRIMARY KEY NOT NULL,
NAME VARCHAR(255),
SPORT VARCHAR(255),
VERSION NUMERIC(19) NOT NULL
);
CREATE TABLE TEAM
(
TEAM_ID VARCHAR(255) PRIMARY KEY NOT NULL,
CITY VARCHAR(255),
NAME VARCHAR(255),
LEAGUE_ID VARCHAR(255),
VERSION NUMERIC(19) NOT NULL,
FOREIGN KEY (LEAGUE_ID) REFERENCES LEAGUE (LEAGUE_ID)
);
CREATE TABLE TEAMPLAYER
(
PLAYER_ID VARCHAR(255) NOT NULL,
TEAM_ID VARCHAR(255) NOT NULL,
CONSTRAINT PK_TEAMPLAYER PRIMARY KEY (PLAYER_ID, TEAM_ID),
FOREIGN KEY (TEAM_ID) REFERENCES TEAM (TEAM_ID),
FOREIGN KEY (PLAYER_ID) REFERENCES PLAYER (PLAYER_ID)
);
commit;
CREATE TRIGGER T_LEAGUE
NO CASCADE
BEFORE UPDATE ON LEAGUE
REFERENCING
NEW AS N_ROW
OLD AS O_ROW
FOR EACH ROW MODE DB2SQL
WHEN (N_ROW.VERSION = O_ROW.VERSION)
SET N_ROW.VERSION = O_ROW.VERSION + 1
;
CREATE TRIGGER T_PLAYER
NO CASCADE
BEFORE UPDATE ON PLAYER
REFERENCING
NEW AS N_ROW
OLD AS O_ROW
FOR EACH ROW MODE DB2SQL
WHEN (N_ROW.VERSION = O_ROW.VERSION)
SET N_ROW.VERSION = O_ROW.VERSION + 1
;
CREATE TRIGGER T_TEAM
NO CASCADE
BEFORE UPDATE ON TEAM
REFERENCING
NEW AS N_ROW
OLD AS O_ROW
FOR EACH ROW MODE DB2SQL
WHEN (N_ROW.VERSION = O_ROW.VERSION)
SET N_ROW.VERSION = O_ROW.VERSION + 1
;
commit;
quit;