indetyfikacyjny składający się z kodu pocztowego oraz doklejonej
koncówki która jest dla kazdego nowego rekordu z tym samym kodem
większa o 1
np.
12-000/0001 | wiesiek
12-000/0002 | heniek
13-123/0001 | czesław
12-000/0003 | marian
Ta wartość identyfkatora będzie pobierana z dwóch kolumn tej z kodem
oraz z koncówką, w jaki sposób nie robiąc tego po stronie skryptu moge
osiągnąć taki efekt ?
Próbowałem zagnieżdzić selecta w ten sposób co działa dobrze ale gdy
jest juz jakis rekord w bazie z takim kodem pocztowym bo jesli nie, to
wewnętrzny select zwraca mi null. MySQL posiada funkcje IF() albo
IFNULL() która rozwiązała by mi tu problem ale w dokumentacji jej nie
widze.
INSERT INTO "ludzie" ("kod","nr","imie",) VALUES ('75-500',SELECT max ("nr")+1 AS n FROM "places" WHERE "kod" = '75-500' ,'czesław')
Probowałem castować nulla na integer ale nadal zwraca mi nulla,
próbowałem też napisać funkcje PL/SQL po to by dowiedzieć się ze
postgres na home.pl nie oferuje wsparcia dla funkcji PL/SQL a to by
było fajne bo mógł bym sobie to pole ustawiać triggerem i zapomnieć o
tym w skrypcie.
Z tego co widze to moge dodawać wyłącznie funkcje w samym SQL ale
przeglądając dokumentacje widze ze w takiej funkcji nie moge uzywac
ifów.
To jest moje pierwsze spotkanie z Postgresem więc prosze o
wyrozumiałość

Wersja PgSQLa na home.pl to 8.2.9