MySQL:如何仅使用输出参数调用存储过程?

问题描述:

从我的指导书,我创建了下面的过程中,INSERT语句将产生一个错误:MySQL:如何仅使用输出参数调用存储过程?

create procedure f1 
(out error char(5)) 
begin 
declare continue handler for SQLSTATE '23000' 
set error='23000'; 
set error ='00000'; 
insert into teams values(2,27,'derde'); 
end; 

但是,它并没有说如何调用该程序。我试过

call f1; 

call f1(); 

call f1(error); 

但是这些都不起作用。

谢谢!

some_variable = call f1(); 它会工作

+0

感谢球员,但是这两种解决方案产生:-(但是错误的SP,我发现了一个方法,做的工作:调用F1(@ 1 ); – Alexander 2011-03-02 09:47:21

请尝试以下操作:CALL f1();

如果您想查看错误值作为结果,则必须更改存储过程。像

**SELECT error** 

,并请尝试调用程序像

**CALL f1(@error) 
SELECT @error**