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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我需要在我的存储过程中执行varchar SQLcode相关的知识,希望对你有一定的参考价值。

我有一个存储过程,将代码保存在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?

答案

你有EXECUTE(@var)功能。

EXECUTE(@command);

以上是关于我需要在我的存储过程中执行varchar SQLcode的主要内容,如果未能解决你的问题,请参考以下文章

在 foreach 循环中调用存储过程 - 仅第一次执行

如何查询存储过程开始执行时间和结束时间

在存储过程 (MySQL) 上使用 WHERE IN

存储过程给变量赋值

如何从存储过程中返回 Varchar2

雪花存储过程从 dbt 失败