Blog

Postado em em 19 de maio de 2023

Variáveis e Blocos Anônimos no PostgreSQL

O que são variáveis e blocos anônimos? Hoje vou te ensinar os conceitos dessas estruturas e ainda vamos resolver alguns exercícios práticos!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Você sabe o que são variáveis e blocos anônimos no PostgreSQL?

Nessa aula eu vou te explicar o que são essas variáveis e blocos anônimos PostgreSQL e com alguns exemplos práticos isso vai ficar mais claro.

O conceito de variável já é algo muito conhecido, então você já deve estar familiarizado, mas um conceito “novo” que vou apresentar na aula é o de blocos anônimos.

E aí, ficou curioso para saber como criar um bloco anônimo, como ele funciona e como é sua estrutura?

Então vem comigo que eu te mostro!

O que é Variável?

A variável é basicamente um espaço de memória onde você vai armazenar algum dado, portanto ela sempre vai ter algum tipo de dado associado.

As variáveis possuem um tipo associado e este tipo pode ser:

  • Numérico -> int (inteiro) ou decimal
  • Texto -> varchar (n)
  • Datas -> date

Blocos anônimos

As variáveis devem ser usadas dentro dos blocos anônimos, então, os blocos anônimos são basicamente blocos de códigos criados para executar alguma função.

Esses blocos servem de base para as os “blocos com nome” como as functions e as procedures.

Estrutura dos Blocos anônimos

/*

<< label >> \\ O label é um marcador para ajudar o SQL a entender até onde deve executar o código

declare

        declaracao;

begin

        corpo do código;

        select;

        update;

        ....

end label; 

*/

Organização

  • Cada bloco possui duas sessões: declaração e corpo.
  • A sessão de declaração é opcional e é onde declaramos todas as variáveis usadas no corpo do código.
  • A sessão do corpo é obrigatória e é onde criamos os nossos códigos.
  • Em ambas as sessões é obrigatório o uso do ponto e vírgula ao final de cada instrução.

Abaixo temos um exemplo de um bloco anônimo:

do $$  \\ usamos o do $$ para iniciar a seção (label)

declare   \\ Declaramos as variáveis colocando seus nomes e tipos

                 nome varchar(100);

                 salario decimal;

                 data_contratacao date;

begin   \\ Cada variável recebe (:=) um item de acordo com seu tipo

        nome := 'André';

        salario := 3500;

        data_contratacao := '25-10-2018';

        raise notice 'O funcionário % foi contratado em % e recebe um salário de % .', nome, data_contratacao, salario;

              \\ Usamos o raise notice para retornar os resultados concatenados com um texto.

end $$;  \\ o end está indicando o final do código

Exercício 1

Criando uma calculadora simples de valor vendido.

Utilize as variáveis ‘quantidade’, ‘preco’, ‘valor_vendido’ e ‘vendedor’ para isso.

Obs. O primeiro passo antes de resolver o exercício é colocar a estrutura do bloco anônimo toda, assim evitamos esquecer alguma parte importante, então, comece escrevendo:

do $$

declare

begin

end $$;

Com essa estrutura básica pronta dê início ao exercício:

do $$

declare

        quantidade int := 100;  \\ Podemos declarar a variável com seu tipo e atribuir valor na mesma linha de código

        preco decimal := 200;

        valor_vendido decimal;

        vendedor varchar(100) := 'Bruno';

begin

        valor_vendido := quantidade * preco;

        raise notice 'O vendedor % vendeu um total de %', vendedor, valor_vendido;

        \\ Usamos o % para indicar o local onde vamos substituir pelos valores e depois da vírgula declaramos as variáveis onde buscamos estes valores.

end $$;

Exercício 2

Quantos produtos têm o preço acima da média?

Primeiro precisamos descobrir em que tabela temos essa informação de preço, neste caso está na planilha Products, vamos usar o Select para referenciar a tabela.

select * from products;

do $$

declare

        media_preco decimal;

        qtd_produtos_acima_media int;

begin

        media_preco := (select avg(unit_price) from products); \\ Select avg retorna a média

        qtd_produtos_acima_media := (select count(*) from products where unit_price >= media_preco);

         \\ Aqui estamos selecionando a contagem de produtos que possuem a média acima do preço

        raise notice 'Qtd. Produtos c/ preço acima média: %', qtd_produtos_acima_media;

end $$;

Conclusão – Variáveis e Blocos Anônimos no PostgreSQL

Fiz essa aula para te ensinar como trabalhar com variáveis e blocos anônimos dentro do PostgreSQL. Começamos com uma explicação sobre o que são variáveis e blocos anônimos e partimos para exercícios práticos, dessa forma é mais fácil fixar a estrutura.

A forma de se trabalhar com variáveis no PostgreSQL vai ser um pouco diferente da forma com que se trabalha em outros SGBDs. A lógica é parecida, mas é preciso ter cuidado com alguns detalhes que são específicos dessa ferramenta.

Espero que tenham gostado! Eu fico por aqui. Abraço,

Hashtag Treinamentos

Para acessar outras publicações de SQL, clique aqui!


Quer aprender mais sobre SQL com um minicurso básico gratuito?

Quer ter acesso a um Minicurso de Finanças no Excel de forma 100% gratuita? Preencha seu e-mail abaixo!