Хранимая процедура не работает после передачи параметров

У меня есть следующая хранимая процедура, которую я использую в рабочей среде mysql

CREATE DEFINER=`root`@`localhost` PROCEDURE `updateContracts`(
  p_work_contract_id int,
  p_product varchar(500)
)
BEGIN

  UPDATE work_contract_objective 
  set product = p_product
  WHERE work_contract_id=p_work_contract_id;

END

Когда я передаю параметры p_work_contract_id и p_product, я получаю следующий результат, и таблица не обновляется

set @p_work_contract_id = 0;
set @p_product = '0';
call morpheus_mvp.updateContracts(@p_work_contract_id, @p_product);
select @p_work_contract_id, @p_product;

Нигде результата нет. У вас есть work_contract_objective с нулевым work_contract_id?

James Z 02.04.2018 15:06

я не получаю никакого результата, в work_contract_objective нет записи с нулем work_contract_id, что здесь может быть не так, параметры не передаются в переменные процедуры

Danish 02.04.2018 15:11

С кодом в вашей процедуре и вашим набором кодов выполнение процедуры не имеет значения. Ваша процедура выполняет обновление на основе заданных параметров и ничего не возвращает или не устанавливает. Затем, после вызова процедуры, вы выбираете те же переменные, которые приведут к 0, 0 в качестве ответа. Чего вы ожидали в результате? Если вы удалите вызов процедуры, оператор select вернет все, что вы назначили этим переменным.

Jorge Campos 02.04.2018 15:18

одна вкладка открывается автоматически с этими значениями, установленными p_work_contract_id = 0; установить p_product = '0'; вызовите morpheus_mvp.updateContracts (p_work_contract_id, p_product); выберите p_work_contract_id, p_product;

Danish 02.04.2018 15:23

установите @p_work_contract_id на некоторое значение, которое действительно присутствует в таблице

Nitesh 02.04.2018 15:39

Эта хранимая процедура никак не может работать, поэтому проблема должна быть в данных.

P.Salmon 02.04.2018 16:09

Верстак работает так, чтобы сохранять последние использованные вкладки. Это не означает, что всякий раз, когда вы его открываете, он запускает этот код на открытых вкладках. Приходится запускать вручную. Я думаю, вы не поняли, как работает верстак.

Jorge Campos 02.04.2018 16:58
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
7
33
0

Другие вопросы по теме