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:
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
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 $$;
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,
Para acessar outras publicações de SQL, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.