У меня есть процедура в mysql, и у меня есть 4 параметра в качестве Input и 3 параметра OUTPUT, и один параметр OUTPUT не возвращает ничего (null).нет возвращаемого значения процедуры вызова mysql
DELIMITER $$
drop procedure if exists `cierreMes`$$
create procedure cierreMes (in tarjeta varchar(100),in bancoBus varchar(100),in mes int,in anyo int, out total int, out nulas int, out erroneas int)
begin
declare stockActual int default 0;
declare cantidad int;
/*declare xcantidad,xnulas,xerroneas int;*/
declare entrada, salida int default 0;
declare total int default 0;
select stock
into stockActual
from almacen
where idProducto =
(select idProducto from productos where productos.banco = bancoBus and productos.plastico = tarjeta);
call entradasSalidas(tarjeta,bancoBus,mes,anyo,@ent,@sal);
set entrada = @ent;
set salida = @sal;
call obtenerMovimientosMes(tarjeta,bancoBus,mes,anyo,@cant,@nul,@err);
set cantidad = @cant;
set nulas = @nul;
set erroneas = @err;
set total =(stockActual + entrada) - (salida + cantidad);
select total;
end$$
DELIMITER ;
call cierreMes('4B MC','SANTANDER',3,2013, @total, @nulas, @erroneas);
select @total, @nulas, @erroneas;
Когда я сделать "вызов" @nulas и @erroneas не возвращают значение, но @total ничего.
С выбором всего, его работы отлично. но не возвращает значение, в этом select: select @total, @nulas, @erroneas; @total - null.
Hi! это решение. Проблема в этой строке: declare total int default 0; Удаление проблемы исчезает. – GdePablos