Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2012, 23:32
losaltlv
 
Fecha de Ingreso: abril-2012
Ubicación: surquillo
Mensajes: 44
Antigüedad: 12 años
Puntos: 0
Procedimientos almacenados variable out

tengo este procedimiento creado que genera codigos

create PROCEDURE Genera (param varchar(40),OUT codgen varchar(8))
BEGIN
declare ceros int;
declare ult INT;
SELECT ult=numero + 1 FROM `generador` WHERE Parametro = param;
SET ceros = 3 - LENGTH(ult);
SET codgen = LEFT(param,5)+REPEAT('0',ceros) +convert(ult,char);
update `generador` set numero=ult where parametro =param;
END



al momento de coorer el procedimiento "Genera" dentro d otro procedimiento me sale error

create procedure usu_nuevo(INOUT codusu varchar(8),id varchar(20),pass varchar(20))
begin
declare xcod varchar(8);
call Genera ('usuarios', xcod);//procedimiento Genera
set codusu=xcod;
insert into usuarios VALUES(codusu,id,pass);
end;

call usu_nuevo('','clever','123');

OUT or INOUT argument 1 for routine ferreteria.usu_nuevo is not a variable or NEW pseudo-variable in BEFORE trigger

ayuda porfa creo q el error esta en la variable de salida out