Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #99883
    Eddy
    Participante

      Bom dia, estou fazendo uma procedure que transforma uma formula minha por exemplo ‘ALTURA * LARGURA / 100 * 0.5’ em ‘1 * 2 / 100 * 0.5’
      estou capturando os valores que preciso substituir de algumas tabelas e no fim eu tenho uma variável string com minha formula.

      A minha ideia era fazer um “select formula from dual”.
      Só que como minha variável é string meu retorno é ela mesmo, e não consigo converter pelo to_number() pois é uma expressão numérica.

      Alguém tem alguma ideia de como eu possa resolver este problema? obrigado desde já.

      #99886
      leandrolbs
      Participante

        para fazer o select formula(x,x) form dual tem que ser FUNCTION não procedure.

        No caso, explique melhor o que não consegue retornar, campos, tipos, e a formula em sql por favor… não entendi mto bem.

        #99890
        Eddy
        Participante

          [quote=”leandrolbs”:u465pm25]para fazer o select formula(x,x) form dual tem que ser FUNCTION não procedure.

          No caso, explique melhor o que não consegue retornar, campos, tipos, e a formula em sql por favor… não entendi mto bem.[/quote]

          Necessito de uma procedure mesmo com um parâmetro de saída, já consegui resolver meu problema era que no final de tudo eu tenho uma variavel tipo string que contem uma expressão numérica por exemplo ‘3 * 2 / 100’ e eu estava utilizando um select from dual para obter o retorno de 0,06
          Acontece que o problema era que minha variavel sendo string meu select me retornava ela mesmo, resolvi o problema com a seguinte sintaxe
          EXECUTE IMMEDIATE ‘select to_number(‘||v_formula||’) from dual’ into v_retorno;

          desta forma mesmo minha variavel v_formula sendo string consegue calcular o resultado

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress