Consultas SQL
Num conector de banco de dados SQL, uma entidade pode ler de uma consulta em vez de uma tabela. Use quando os dados que o portal precisa estão espalhados em mais de uma tabela, ou quando você quer escolher as colunas e as linhas com precisão.

No workspace Aurora Imóveis, a entidade Contrato junta duas tabelas do banco da locação — os contratos e os imóveis — numa consulta só:
SELECT c.id, c.codigo, i.descricao AS imovel, i.endereco, c.inicio, c.fim,
c.valor_aluguel, c.status, c.cpf_inquilino
FROM contratos c
JOIN imoveis i ON i.id = c.imovel_id
WHERE c.excluido_em IS NULL
Cada coluna do resultado vira um campo: imovel e endereco vêm da tabela de imóveis, o resto vem do contrato. O WHERE deixa de fora os contratos excluídos.
Criar uma entidade por SQL
- Em Dados › Entidades, clique em Nova entidade.
- Em Conexão, escolha o conector de banco de dados e abra a aba SQL.
- Escreva a consulta. O editor completa nomes de tabelas e colunas com Ctrl/Cmd + Space.
- Clique em Buscar dados (ou Ctrl/Cmd + Enter). A plataforma roda a consulta, traz uma amostra e monta um campo para cada coluna.
- Revise a entidade como qualquer outra: nome, chave, campos, Identificador, Título e ID do Titular. No Contrato, o identificador é
id, o título écodigoe o titular écpf_inquilino, comparado como CPF/CNPJ. - Clique em Criar entidade com N campos.
A consulta fica registrada na Visão geral da entidade, em Consulta SQL.
Regras da consulta
- Só leitura: a consulta precisa começar com
SELECTouWITH. - Uma consulta por vez: sem
;no meio. - Rápida: uma consulta que demora mais de 15 segundos é interrompida. Prefira colunas com índice no
JOINe noWHERE.
Além disso, a sessão no banco é aberta em modo de leitura quando o banco permite. Mesmo assim, conecte com um usuário que só tem permissão de leitura.
Dicas
- Traga o titular em uma coluna. É por ela que cada registro fica com o seu cliente — no Contrato,
cpf_inquilino. Sem titular, nenhum usuário do portal vê os registros. - Traga um identificador único. Uma coluna que não se repete (como
c.id) deixa a sincronização reconhecer cada registro de uma vez para outra. - Dê nomes claros às colunas com
AS(i.descricao AS imovel): o nome da coluna vira a chave do campo. - Filtre no
WHERE, e não depois: o que a consulta não traz não ocupa espaço nem tempo de sincronização.
Como a sincronização funciona
Uma entidade por SQL sincroniza na agenda do conector (ou só quando você pedir, no modo Manual). Cada sincronização roda a consulta inteira: os registros novos entram, os alterados são atualizados e os que a consulta não traz mais saem da entidade. Em Leitura do sync, você escolhe quantas linhas a sincronização lê de cada vez (o padrão é 500).
O modo Quando o usuário acessa não vale para consultas SQL. Veja Sincronização das entidades.