Código para Criar Funções SQL dentro do Supabase via SQL Editor - Bruno Devx - BR Criativus

post #6086

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

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

Categorias: BlogBanco de dadosPostgresSQLSupabase

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:



Link Direto

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link direto abaixo. Basta copiar.

bruno.art.br/?p=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