Temat: IF i INSERT
Witam, Mam kolejny problem laika.
Mam 2 tabele sciana(gid,id) oraz sciana1(gid,id).
Chciałbym zrobić INSERT z sciana1 do sciana, ale kolumna id jest UNIQUE.
Chciałbym aby dla sciana1.id aby dla pierwszego wiersza w tabeli sciana1.id był kolejny po ostatnim z sciana. To mi się udało.
Problem pojawia się gdy będzie gdy tabela sciana będzie pusta. Stworzyłem takie zapytanie ale występuje błąd składni. Nie wiem jak sobie poradzić z IF
Przykładowo jeśli w tabeli sciana.id = 4 dla ostatniego rekordu to w tabeli sciana1.id pierwszy rekord to sciana1.id = 5
gdy tabele sciana jest pusta to sciana1.id = 1
UPDATE sciana1
SET
IF sciana.gid IS not NULL THEN
id = (SELECT max(sciana.id)+sciana1.gid
FROM sciana );
END IF;
IF sciana.gid IS NULL THEN
id = sciana1.gid
END IF;