Mam procedurę:
CREATE PROCEDURE addusr(IN log VARCHAR(32),IN pas VARCHAR(32),IN nam VARCHAR(32),IN adr VARCHAR(256))
BEGIN
DECLARE curid INT;
SET curid=(SELECT TOP 1 id_user FROM uzytkownik ORDER BY id_user DESC) +1;
IF curid IS NULL THEN SET curid=0;
END IF;
INSERT INTO uzytkownik (id_user,login,pass,name,mail,last_login)
VALUES (curid,log,pas,nam,adr,null);
END
Niestety MySQL nie chce jej przyjąć :/. Wynik wykonania:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Ja niestety nie widzę błędów... Ta funkcja jest przeniesiona z Sybase SQL Anywhere 10, gdzie oczywiście działa idealnie.