Задать вопрос
nkorobkov
@nkorobkov

Как правильно создать SQL процедуру?

Добрейшее утречко. Имеется вот такая БД:
036edc62f83f4a6d9c2fb60571344f48.png
Я хочу создать для нее процедуру, которая будет возвращать стоимость определенной услуги у предприятия с заданным именем. Т.е. я передаю в нее имя предприятия и название услуги, а она мне возвращает таблицу со столбцами: имя заданного мной предприятия, название услуги, стоимость.
Вот как я это пытаюсь сделать, но, видимо, я где-то ошибся и у меня ничего не выходит:
CREATE PROCEDURE get_cost(org_name, service_name)
BEGIN
    SELECT organizations.org_name, services_list.service_name, org_services.service_cost 
        FROM organizations, services_list, org_services WHERE organizations.ID = 
        org_services.org_id AND services_list.ID = org_services.service_id
        HAVING organizations.org_name = org_name AND services_list.service_name = service_name;
END

Подскажите пожалуйста: что не так, и как можно исправить или реализовать по-другому...
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А зачем для этого процедура? Достаточно обычного запроса
И зачем возвращать из запроса названия организации и сервиса, если их туда только что передали?
SELECT `os`.`service_cost`
  FROM `Org_services` AS `os`
  JOIN `Organizations` AS `o` ON `o`.`ID` = `os`.`org_id` AND `o`.`org_name` = :orgName
  JOIN `Services_list` AS `s` ON `s`.`ID` = `os`.`service_id` AND `s`.`service_name` = :servName
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы