Pular para o conteúdo principal

Banco de dados (SQL)

O componente Consulta de Banco roda uma consulta SQL em um banco de dados e mostra o resultado como uma tabela na página.

Somente PostgreSQL (por enquanto)

Hoje o único banco suportado é o PostgreSQL. Suporte a outros bancos está planejado.

Passo a passo

Com o componente Consulta de Banco selecionado, na aba Config:

  1. Credencial — escolha uma credencial existente em Selecione credencial... ou clique em Nova credencial. O formulário pede: Nome, Host, Porta (5432 é o padrão do PostgreSQL), Banco de Dados, Usuário e Senha.
  2. Consulta SQL — escreva o seu SELECT.
  3. Salvar — guarda a credencial + a consulta juntas (a "integração").
  4. Executar consulta — testa a consulta (roda a versão salva — veja abaixo).

Credenciais são pessoais

Cada credencial pertence a um usuário

As credenciais são por usuário — uma proteção para que ninguém acesse um banco com as credenciais de outra pessoa.

Na prática, isto tem uma consequência importante: se outro administrador editar um workflow que usa uma consulta de banco e salvar sem selecionar a própria credencial, a credencial anterior é apagada — e a consulta para de funcionar até que uma nova seja escolhida. Ao editar a consulta de banco de outra pessoa, sempre selecione (ou crie) a sua própria credencial antes de salvar.

Salve antes de testar

Não dá para testar sem salvar

O botão Executar consulta roda a versão salva da consulta — a mesma que o workflow publicado vai usar. Se nada foi salvo, nada roda.

Então, antes de testar (ou publicar), confirme que a credencial está selecionada e que a consulta está escrita, e clique em Salvar. Só depois use Executar consulta.

Sempre teste com "Executar consulta"

Rodar a consulta pelo Executar consulta é a melhor forma de pegar erros cedo: usuário/senha errados, tabela que não existe e outros problemas comuns de banco aparecem aqui — antes de o usuário final topar com eles.

Usando valores dos campos na consulta

Para usar na consulta o que o usuário digitou, referencie o campo com $ + o nome (rótulo) do campo. Um campo chamado "Cliente ID" vira $Cliente_ID. Dica: digite $ na caixa de SQL para abrir a lista dos campos disponíveis.

SELECT * FROM pedidos WHERE cliente_id = $Cliente_ID
Aqui NÃO se usa {{ }}

Dentro da consulta SQL, use $Campo — com um único $ e o nome do campo. Não use {{ $form.Campo }}: as chaves duplas são só para expressões em campos de texto.

Lembre da regra do "carrega uma vez"

A consulta roda uma única vez, quando a página abre. Por isso, um campo que está na mesma página ainda estará vazio nesse momento — e a consulta não recebe o valor. Para alimentar a consulta, use um $args (parâmetro da URL) ou um valor vindo de uma página anterior. Detalhes em Expressões e variáveis.

Exibindo e usando os resultados

Os resultados aparecem como uma tabela. Nas propriedades você ajusta:

  • Espaço entre linhas / colunas (px) — o espaçamento visual da tabela.
  • Selecionável — deixa o usuário clicar para selecionar linhas; você define o número máximo de seleções.
  • Editável — deixa o usuário editar as células direto na tabela.

O que o usuário seleciona (ou edita) vira o "valor" do componente, que outros campos podem reaproveitar por expressão — por exemplo, pegar uma coluna da linha selecionada:

{{ $form.Consulta_de_Banco.nome }}
Editar não altera o banco

Marcar a tabela como Editável só muda o valor do componente na página — as edições não são gravadas no banco de dados. Para persistir qualquer mudança, você precisa enviar os dados de volta explicitamente (por exemplo, uma ação de Requisição HTTP).

Veja Expressões e variáveis para os detalhes de como referenciar colunas.