Сохранённая процедура MySQL (ошибка в синтаксисе)

CREATE PROCEDURE AnniversarySalary
    @surname NVARCHAR(50)
AS
SELECT 
EMPLOYEE_SALARY * 12 FROM employee
WHERE SURNAME = @surname;

Данный код не работает в MySQL Server. Ошибка: ERROR 1064 (42000): 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 '@surname NVARCHAR(50) AS SELECT EMPLOYEE_SALARY * 12 FROM employee WHERE SURNAME' at line 1. Подскажите, пожалуйста, в чём проблема.


Ответы (1 шт):

Автор решения: Chupaka

У MySQL несколько другой синтаксис команды CREATE PROCEDURE (судя по "MySQL Server", вы взяли команду для Microsoft SQL Server'а):

CREATE PROCEDURE AnniversarySalary (IN my_surname VARCHAR(50))
BEGIN
    SELECT EMPLOYEE_SALARY * 12 FROM employee
        WHERE SURNAME = my_surname;
END
→ Ссылка