我在使用 golang 返回过程时遇到问题。如果我从过程中删除参数,过程将正常执行,但是,当我需要获取返回值(OUT 参数)时,我无法获取它并且过程不会执行。为了使测试更简单并获得帮助,我创建了一个简单的过程,如下所示,我想得到它的回报。
请遵循以下程序:
drop procedure if exists PESSOA_TESTE;
delimiter $$
create procedure PESSOA_TESTE(out psaida int)
begin
set psaida = 2;
end
$$
现在它遵循我用来尝试获取过程中指定的值 2 的 golang 代码部分。
var GerenciaBD GERENCIABD
var PontoExecucao int
GerenciaBD.F_GERENCIABD_ABRIR_CONEXAO_MYSQL()
GerenciaBD.DataBase.ExecContext(context.TODO(),"call PESSOA_TESTE", sql.Named("psaida", sql.Out{Dest:&PontoExecucao}))
println(PontoExecucao)
执行时我的答案是 0 而不是 2,这是过程中指定的答案。
我的 golang 版本是 1.10。
慕桂英4014372
相关分类