Hocu da napravim dvije tabele koje imaju identicne kolone, s tim da u prvoj tabeli, koja sadrzi kolonu id_zap koja je primarni kljuc, mogu uci samo vrijednosti tipa int koje su manje od 100. Slicno tome, da u drugu tabelu, u kolonu id_zap mogu uci samo vrijednosti vece od 99. Evo jednog dijela koda:
CREATE TABLE odjeljenja (
sif_odj char(5) NOT NULL,
naziv_odj varchar(20) NOT NULL,
PRIMARY KEY (sif_odj)
);
CREATE TABLE zaposleni1 (
id_zap smallint(5) NOT NULL,
ime varchar(20) NOT NULL,
prezime varchar(25) NOT NULL,
sif_odj char(5),
plata double(10,2),
CHECK (id_zap>0 AND id_zap<100),
PRIMARY KEY (id_zap),
FOREIGN KEY (sif_odj) REFERENCES odjeljenja (sif_odj) on delete restrict
);
CREATE TABLE zaposleni2 (
id_zap smallint(5) NOT NULL,
ime varchar(20) NOT NULL,
prezime varchar(25) NOT NULL,
sif_odj char(5),
plata double(10,2),
CHECK (id_zap>99 AND id_zap<1000),
PRIMARY KEY (id_zap),
FOREIGN KEY (sif_odj) REFERENCES odjeljenja (sif_odj) on delete restrict
);
Ja uredno kreiram tabele, ali problem se javi prilikom unosa. Npr., ja mogu unijeti vrstu (100, 'Marko', 'Markovic', 'o1', 10000) u tabelu zaposleni1, iako ona ima ogranicenje da ne moze imati veci broj od 99. Znam da mi nesto fali, ali nemam pojma sta.
elem: koristio sam i komandu CHECK sa BETWEEN i AND, ali isto nije moglo.