Процедура: вывести запись из БД по заданной переменной - MySQL

Формулировка задачи:

Здравствуйте. Помогите, пожалуйста, найти ошибку в создании процедуры. Процедура: вывести запись из БД по заданной переменной. Вот созданная мной процедура:
DELIMITER $$
 
DROP PROCEDURE IF EXISTS `OTDEL_KADROV_PREDPRIYATIYA_1`.`ZapisIzBD` $$
CREATE PROCEDURE `OTDEL_KADROV_PREDPRIYATIYA_1`.`ZapisIzBD` (kod_dolzhn INT)
BEGIN
  SELECT SOTRUDNIKI.Familiya, SOTRUDNIKI.Imya, SOTRUDNIKI.Otchestvo, SOTRUDNIKI.Vozrast, DOLZHNOSTI.Nazvanie_dolzhnosty
  FROM SOTRUDNIKI LEFT JOIN DOLZHNOSTI ON SOTRUDNIKI.kod_dolzhn=DOLZHNOSTI.id_dolzhn;
 
END $$
 
DELIMITER ;
При вызове процедуры и задании конкретного кода должности он выдает мне все существующие записи в таблице Сотрудники и меняет столбец код должности на Название должности. А должен лишь вывести те, которые соответствуют введенному коду должности. Что не так?

Код к задаче: «Процедура: вывести запись из БД по заданной переменной - MySQL»

textual
WHERE SOTRUDNIKI.kod_dolzhn = kod_dolzhn

15   голосов, оценка 3.933 из 5


СОХРАНИТЬ ССЫЛКУ