Хранимая процедура SQL

Рейтинг: 0Ответов: 1Опубликовано: 20.10.2014

Ребята, есть такая хранимка, при ее создании возникает ошибка. Может, она кому бросится в глаза...

Хранимая процедура:

CREATE PROCEDURE insert_log(

  IN LogType INT, 
  IN LogIdNote INT,
  IN LogName VARCHAR(150), 
  IN LogTime TIMESTAMP, 
  IN logTypeCategory INT, 
  IN LogIdUser INT)

begin

INSERT INTO log (LogType, 
                 LogIdNote, 
                 LogName, 
                 LogTime, 
                 logTypeCategory, 
                 LogIdUser, 
                 LogTypeUser, 
                 LogUrl)
SELECT LogType, LogIdNote, LogName, LogTime, logTypeCategory, LogIdUser, url.URLCategorysubscribetotype, u.UsersTypeAccount FROM users u LEFT JOIN categorysubscribetotype url ON url.CategoryTypeCategorysubscribetotype = LogType WHERE u.idUsers = LogIdUser;

end //

Ошибка вида:

#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 20

Ответы

▲ 1Принят
DELIMITER |

CREATE PROCEDURE insert_log(

  IN pLogType INT, 
  IN pLogIdNote INT,
  IN pLogName VARCHAR(150), 
  IN pLogTime TIMESTAMP, 
  IN plogTypeCategory INT, 
  IN pLogIdUser INT)

BEGIN

SET @user_type = (SELECT UsersTypeAccount FROM users WHERE idUsers = pLogIdUser);
SET @url = (SELECT URLCategorysubscribetotype FROM categorysubscribetotype WHERE CategoryTypeCategorysubscribetotype = pLogType);

INSERT INTO log (pLogType, 
                 pLogIdNote, 
                 pLogName, 
                 pLogTime, 
                 plogTypeCategory, 
                 pLogIdUser, 
                 pLogTypeUser, 
                 pLogUrl)
VALUES (
                 LogType, 
                 LogIdNote, 
                 LogName, 
                 LogTime, 
                 logTypeCategory, 
                 LogIdUser, 
                 user_type, 
                 url
);

END |

delimiter ;