我需要在存储过程中执行varchar SQLcode

时间:2019-02-18 20:24:19

标签: mysql database

我有一个存储过程,将代码保存在varchar变量中,我需要执行此代码。

程序:

 delimiter $$
 create procedure eixos_caminhao (in numeroEixos int)
 begin
     set @comando := 'select classe, velocidade, date(data) as data, 
 pesoEixo1, pesoEixo2';
     if (numeroEixos > 2) set @comando:= concat(@comando, ', pesoEixo3');
     if (numeroEixos > 3) set @comando:= concat(@comando, ', pesoEixo4');
     if (numeroEixos > 4) set @comando:= concat(@comando, ', pesoEixo5');
     if (numeroEixos > 5) set @comando:= concat(@comando, ', pesoEixo6');
     if (numeroEixos > 6) set @comando:= concat(@comando, ', pesoEixo7');
     if (numeroEixos > 7) set @comando:= concat(@comando, ', pesoEixo8');
     if (numeroEixos > 8) set @comando:= concat(@comando, ', pesoEixo9');
     set @comando:= concat(@comando, ' from tb_vbv');
 end;
 delimiter;

现在,如何在varchar中执行此Sql?

1 个答案:

答案 0 :(得分:1)

您具有EXECUTE(@var)功能。

EXECUTE(@command);