zatara Postado Maio 17, 2016 Denunciar Share Postado Maio 17, 2016 Tenho uma tabela no banco de dados onde cada linha precisa receber um cálculo individual. Eu pensei em gravar em um campo(texto) a fórmula desse cálculo, e assim elaborar uma função(mysql) que faça essa leitura. O meu problema é justamente o de tratar esse valor(texto) como cálculo. Anexei uma imagem de ilustração, e fico grato por qualquer sugestão. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Maio 17, 2016 Denunciar Share Postado Maio 17, 2016 Estude Storage procedures e Prepare/Execute statments Link para o comentário Compartilhar em outros sites More sharing options...
0 zatara Postado Maio 18, 2016 Autor Denunciar Share Postado Maio 18, 2016 Obrigado!CREATE DEFINER=`root`@`localhost` PROCEDURE `formula`(IN formula VARCHAR(10),IN valor_a FLOAT) BEGIN SET @s1='SELECT SUM('; SET @s2=CONCAT(@s1,REPLACE(formula,'A','?')); SET @s3=') AS saldo'; SET @s=CONCAT(@s2,@s3); PREPARE stmt1 FROM @s; SET @a = valor_a; EXECUTE stmt1 USING @a; DEALLOCATE PREPARE stmt1; END$$ DELIMITER ; agora chamando: CALL formula('A*3/2',2.1); resultado: saldo -------------------- 3.1499998569488525 Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
zatara
Tenho uma tabela no banco de dados onde cada linha precisa receber um cálculo individual.
Eu pensei em gravar em um campo(texto) a fórmula desse cálculo, e assim elaborar uma função(mysql) que faça essa leitura.
O meu problema é justamente o de tratar esse valor(texto) como cálculo.
Anexei uma imagem de ilustração, e fico grato por qualquer sugestão.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados