Próbáltam, de a DEC LARE-en is leakad.
BE GIN
DEC LARE x INT;
IF ((SE LECT COUNT(*) FROM radcheck IN TO x WHERE ( UserName = 'triggerteszt' AND Attribute = 'Calling-Station-Id')) = 0 )
THEN INS ERT INTO radcheck (id, UserName, Attribute, op, Value) VALUES ( NULL, 'triggerteszt', 'Calling-Station-Id', '==' ,'proba');
END IF;
END;Vagy esetleg tárolt eljárásban tudok csak változót deklarálni?
szerk: próbálom a tárolt eljárást, de ez sem jó, syntax error:
DELI MITER //
CRE ATE PROC EDURE `mac_proc`(`user` VARCHAR(50), `mac` VARCHAR(50))
BEG IN
DEC LARE `x` INT := NULL;
SE LECT COUNT(*) FROM `radcheck` INTO `x` WHERE ( `UserName` = `user` AND `Attribute` = 'Calling-Station-Id');
IF `x` = 0 THEN IN SERT INTO `radcheck` (`id`, `UserName`, `Attribute`, `op`, `Value`) VALUES ( NULL, `user`, 'Calling-Station-Id', '==' ,`mac`);
END IF;
END;//Petya