Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Resultado não aparece em duas colunas

Olá!

Criei a function soma_e_produto() exatamente como no vídeo utilizando a funcionalidade OUT, mas quando dou SELECT na function o resultado é impresso em apenas uma coluna com o nome da function e o resultado separado por vírgulas, e não em duas colunas (soma/ produto) como no vídeo.

Segue o código:

CREATE OR REPLACE FUNCTION soma_e_produto (
    numero_1 INTEGER,
    numero_2 INTEGER,
    OUT soma INTEGER,
    OUT produto INTEGER
) AS $$

    SELECT numero_1 + numero_2 AS soma,
            numero_1 * numero_2 AS produto; 
           
$$ LANGUAGE SQL;

SELECT soma_e_produto(1, 2);

Saída:

Resultado da chamada da function mostra apenas uma coluna com o nome "somaeproduto" e apenas uma linha com o valor "3,2"

Será que esqueci de algo ou pode ser a versão? Estou usando o pgAdmin 4 8.10. Obrigada!

2 respostas
solução!

Oii, Estudante! Como vai?

Agradeço por aguardar o nosso retorno.

Como sugestão, para retornar os valores de somae produto utilize o SELECT FROM * como usando no código em aula, para chamar a função em ambos como colunas.

Segue o código com a atualização:

CREATE OR REPLACE FUNCTION soma_e_produto (
    numero_1 INTEGER,
    numero_2 INTEGER,
    OUT soma INTEGER,
    OUT produto INTEGER
) AS $$

    SELECT numero_1 + numero_2 AS soma,
            numero_1 * numero_2 AS produto; 
           
$$ LANGUAGE SQL;

SELECT * FROM soma_e_produto(1, 2);

Faça o teste e observe se funciona como esperado. Espero que dê certo e continue se dedicando aos estudos.

Qualquer dúvida, compartilhe no fórum.

Até mais!

Obrigada, Nathalia! Deu certo!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade