konto usunięte
Temat: PostgreSQL - automatyzacja tabeli
Witam,Mam taką tabelkę:
CREATE TABLEserver_commands"(
"id" serial,
"idcudaka" int4 ,
"idpolecenia" int4 ,
"czas" timestamp ,
"status" char(10) ,
"command" varchar(50) ,
"odpowiedz" varchar(80) ,
"czas2" timestamp ,
PRIMARY KEY ("id")
)
Potrzebuję następującego zachowania kolumny idpolecenia w tabeli server_commands.
Przy każdym dodaniu rekordu do tabeli przydzielony jest mu kolejny numer idpolecenia, ale numeracja jest w ramach każdego cudaka osobno, np.
dodajemy rekord dla cudaka "A" - otrzymuje on numer 1 (id polecenia)
dodajemy rekord dla cudaka "A" - otrzymuje on numer 2 (id polecenia)
dodajemy rekord dla cudaka "B" - otrzymuje on numer 1 (id polecenia)
dodajemy rekord dla cudaka "A" - otrzymuje on numer 3 (id polecenia)
dodajemy rekord dla cudaka "B" - otrzymuje on numer 2 (id polecenia)
dodajemy rekord dla cudaka "C" - otrzymuje on numer 1 (id polecenia)
dodajemy rekord dla cudaka "B" - otrzymuje on numer 3 (id polecenia)
dodajemy rekord dla cudaka "B" - otrzymuje on numer 4 (id polecenia)
Numer jest inkrementowany od 0 do MAX_NUMBER. Po osiągnięciu MAX_NUMBER kolejnym przydzielonym numerem jest 0.
Przewiduję docelowo MAX_NUMBER jako 99999.
W bazie nie mogą się powtórzyć dwa rekordy, które będą miały jednakowy id_cudaka i idpolecenia. W szczególności przy próbie dodania takiego powtórzonego rekordu - można usuwać ten stary.
Wiecie może jak to zrobić??
Z góry dzięki za pomoc,
pozdrawiam Łukasz