Я плохо разбираюсь в хранимых процедурах. Пожалуйста помоги мне с этим. Я использую workbench mysql. Я создал хранимую процедуру для получения двух выходов с двумя операторами select. Но он дает только один вывод из одного оператора select, который записывается последним в хранимой процедуре. Ниже приведена процедура.Хранимая процедура, не дающая результатов множественных параметров
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_procedure`(IN date_x DATE, OUT emplist3 varchar(200), OUT emplist4 varchar(200))
BEGIN
select employee.name as emplist3
from employee
where employee.id IN (
select emp_position.employee_id
from emp_position
where emp_position.employee_id NOT IN (
select emp_event.employee_id
from emp_event
where emp_event.date = date_x
)
AND emp_position.position = "Cameraman"
);
select employee.name as emplist4
from employee
where employee.id IN (
select emp_position.employee_id
from emp_position
where emp_position.employee_id NOT IN (
select emp_event.employee_id
from emp_event
where emp_event.date = date_x
)
AND emp_position.position = "Camera_Assistant"
);
END
Пожалуйста, помогите мне получить результат как emplist3, так и emplist4 из приведенной выше процедуры. Thank U.
вы должны использовать внутреннее соединение, а не в и слева присоединиться вместо не, чтобы получить лучшую производительность, лучше SQL запрос –
@AnkitAgrawal Я не очень хорош в написании этой базы данных вещей. Не могли бы вы отредактировать мой код с помощью своего решения? – Christeen
Процедура, которую вы опубликовали, выглядит так, как будто она должна работать. Можете ли вы отредактировать свой вопрос, чтобы включить код, который вызывает его (включая определения переменных), фактический вывод из кода и подтверждение того, что операторы выбора работают должным образом при запуске в mysqlworkbench. Если вы можете опубликовать образцы данных, которые были бы хорошими, –