post

Código para Criar Funções SQL dentro do Supabase via SQL Editor

Publicado em: 09/02/2025 / Atualizado em: 09/02/2025

Categorias: Banco de dadosBlogPostgresSQLSupabase

Nesse post vou compartilhar um código SQL para rodar dentro do Supabase, para criar funções personalizadas para relacionar tabelas, que podem ser consultadas via API facilmente. Segue código abaixo:

CREATE OR REPLACE FUNCTION get_autores_com_livros(p_autor_email text DEFAULT NULL, p_locais_endereco text DEFAULT NULL)
RETURNS TABLE (id bigint, nome text, email text, telefone text, livros jsonb[], locais jsonb[]) 
LANGUAGE plpgsql
AS $$
BEGIN
    RETURN QUERY
    SELECT a.id, a.nome, a.email, a.telefone, 
        array_agg(DISTINCT jsonb_build_object('titulo', l.titulo, 'resumo', l.resumo)) AS livros,
        array_agg(DISTINCT jsonb_build_object('endereco', loc.endereco)) AS locais
    FROM autores a
    LEFT JOIN livros l ON a.id = l.autor_id
    LEFT JOIN locais loc ON a.id = loc.autor_id
    WHERE (loc.endereco = p_locais_endereco OR p_locais_endereco IS NULL)
        AND (a.email = p_autor_email OR p_autor_email IS NULL)
    GROUP BY a.id;
END;
$$;

Publicações recomendadas:


Inscreva-se em Nossa News:

Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Bruno Devs News


Link Curto para Compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/pb/6086

ID de Referência: 6086

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato