Cześć, ogólnie ostatnio walczę z PostgreSql (tylko z doc korzystam ) i nie potrafię zrozumieć co jest źle.
Mój kod:
CREATE PROCEDURE zad4() AS $$
BEGIN
DECLARE i int := 1;
BEGIN
LOOP
IF i > 100 THEN
EXIT;
END IF;
DECLARE x int := floor(RAND()*(4)+1);
DECLARE typy varchar(30) := 'kompaktowy';
IF x = 1 THEN <--- Tutaj
SET typy = 'kompaktowy';
ELSEIF x = 2 THEN
SET typy = 'lustrzanka';
ELSEIF x = 3 THEN
SET typy = 'profesjonalny';
ELSE SET typy = 'inny';
END IF;
insert into `ad-aparaty`.`Aparat`values(CONCAT('Aparat',i),floor(RAND()*15)+1,floor(RAND()*15)+100,floor(RAND()*15)+1,typy);
set i = i + 1;
END LOOP;
END;
END;
$$ LANGUAGE 'plpgsql';
Error:
ERROR: syntax error at or near "IF"
LINE 11: IF x = 1 THEN
Jeżeli widzisz, że coś ogólnie robię źle lub czegoś się tak nie robi to byłbym wdzięczny o pomoc. A co do nazw tabel i bazy to jest dobre po sprawdzone 1000 razy.
Dziękuję ogromnie.