Извините, мой первый код был верным, но, по-видимому, моя версия базы данных позволяла вам выбрать символ, который будет использоваться в качестве метки "РАЗДЕЛИТЕЛЬ" в интерфейсе SQL. символ по умолчанию ";" поэтому каждый раз, когда я запускал процесс, он действительно выполнял
CREATE procedure insertpag (IN `USU` BIGINT(50), IN `CON` CHAR(55), IN `Mont` INT(10), IN `ROB` CHAR(55), INOUT `ID` INT(12))NOT
DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER
BEGIN
INSERT INTO `pag` (`CONCEPT`, `MON`, `USUER_PAG`,`COMPROB`)values(CON, Mont, USU, ROB)delimiter ;
SET ID = LAST_INSERT_ID()delimiter ;
END
, и это было причиной синтаксической ошибки.