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

Codigo
/*

<< 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.
Ícone SQLSQL Impressionador

Domine a linguagem mais importante do Mundo para quem trabalha com Dados, seja para se destacar na sua empresa atual, para conseguir um diferencial em processos seletivos ou até mesmo para entrar em áreas de dados.

Começar agoraSeta para a direita
Fundo SQLTelas SQL
Luz SQL

Abaixo temos um exemplo de um bloco anônimo:

Codigo
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:

Codigo
do $$

declare

begin

end $$;

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

Codigo
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.

SQL
select * from products;

do $$

declare

        media_preco decimal;

        qtd_produtos_acima_media int;

begin

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

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

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

        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?