--ZAD7 ALTER TABLE etaty ADD COLUMN pensja_od numeric(8,2), ADD COLUMN pensja_do numeric(8,2); UPDATE etaty SET pensja_od = LEAST(widelki[1], widelki[2]), pensja_do = GREATEST(widelki[1], widelki[2]); ALTER TABLE etaty ADD CONSTRAINT A CHECK (pensja_od < pensja_do), ALTER COLUMN pensja_od SET NOT NULL, ALTER COLUMN pensja_do SET NOT NULL, DROP COLUMN widelki; UPDATE pracownicy SET pensja = GREATEST(pensja, pensja_od) FROM etaty WHERE pracownicy.etat = etaty.etat; INSERT INTO etaty(etat, pensja_od, pensja_do) SELECT CONCAT(etat, ' starszy'), pensja_od, 2 * pensja_do FROM etaty; UPDATE pracownicy SET etat = CONCAT(pracownicy.etat, ' starszy') FROM etaty WHERE pracownicy.pensja > etaty.pensja_do AND pracownicy.etat = etaty.etat; CREATE SEQUENCE nowa START 10 INCREMENT 10; ALTER TABLE etaty ADD COLUMN id_etatu INT DEFAULT nextval('nowa') NOT NULL, ADD COLUMN X varchar(100); UPDATE etaty SET X = etat; ALTER TABLE etaty DROP COLUMN etat CASCADE; ALTER TABLE etaty RENAME COLUMN X TO etat; ALTER TABLE etaty ADD PRIMARY KEY(id_etatu); ALTER TABLE etaty ALTER COLUMN etat SET NOT NULL; ALTER TABLE pracownicy ADD COLUMN etacik INT; UPDATE pracownicy SET etacik = id_etatu FROM etaty WHERE etaty.etat = pracownicy.etat; ALTER TABLE pracownicy DROP COLUMN etat; ALTER TABLE pracownicy RENAME COLUMN etacik TO etat; ALTER TABLE pracownicy ALTER COLUMN etat SET NOT NULL; ALTER TABLE pracownicy ADD FOREIGN KEY(etat) REFERENCES etaty(id_etatu); ----