Connect with us

Dicas

Procedure para retornar estrutura de ARVORE (sumário) usando SQL e CURSOR

Published

on

Essa procedure pode ser usada para resumir informações de uma tabela em um formato mais fácil de ler e entender. Em vez de exibir cada linha separadamente, o sumário agrupa as informações por pai, mostrando os filhos de cada pai em uma única linha. Isso pode ser útil para analisar grandes conjuntos de dados ou para criar relatórios mais concisos e legíveis.

Sempre nos deparamos com ordenação e criação de estrutura de árvore no nosso dia a dia. Então segue uma procedure comentada que pode ajudar o processo.

Exemplo de tabela e informações:

CREATE TABLE my_table (
  id INT PRIMARY KEY,
  name VARCHAR(255),
  parent_id INT
);

INSERT INTO my_table (id, name, parent_id) VALUES
(1, 'A', 0),
(2, 'B', 1),
(3, 'C', 2),
(4, 'D', 0),
(5, 'E', 1),
(6, 'F', 5),
(7, 'G', 5),
(8, 'H', 7),
(9, 'I', 8),
(10, 'J', 8),
(11, 'K', 0)

Resultado esperado:

  1. A.B.C
  2. D
  3. A.E.F.G.H.I.J
  4. K

Procedure comentada:

CREATE PROCEDURE get_summary()
BEGIN
-- Declaração de variáveis para guardar os dados das colunas
DECLARE done INT DEFAULT FALSE;
DECLARE id INT;
DECLARE name VARCHAR(255);
DECLARE parent_id INT;

-- Variável para armazenar o sumário construído
DECLARE summary VARCHAR(255);

-- Cursor para percorrer as linhas da tabela
DECLARE cur CURSOR FOR SELECT id, name, parent_id FROM my_table ORDER BY id;

-- Handler para lidar com o fim das linhas do cursor
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

-- Abre o cursor
OPEN cur;

-- Inicializa a variável de sumário
SET summary = '';

-- Loop para ler cada linha do cursor
read_loop: LOOP
FETCH cur INTO id, name, parent_id;

-- Se não houver mais linhas, sai do loop
IF done THEN
LEAVE read_loop;
END IF;

-- Verifica se o parent_id é 0, o que indica que é o início de um novo grupo de linhas
IF parent_id = 0 THEN
-- Se já tiver algum sumário construído, exibe-o
IF summary != '' THEN
SELECT summary;
END IF;

-- Inicializa o novo sumário com o pai atual
SET summary = CONCAT('linha ', id, ' ', name);
ELSE
-- Se não for o início de um novo grupo, adiciona o nome do filho ao sumário
SET summary = CONCAT(summary, '.', name);
END IF;
END LOOP;

-- Exibe o último sumário construído
SELECT summary;

-- Fecha o cursor
CLOSE cur;
END;

E ai ? essa procedure foi util para você ? se sim, deixe um comentário para nos incentivar a continuar.

Continue Reading
Click to comment

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

.NET

Microsoft está oferecendo cursos gratuitos com certificado!

Published

on

🚨🥁 A Microsoft está oferecendo cursos GRATUITOS com certificados. Não esqueça de compartilhar e ajudar alguém 👍🏼🚀😀

(Lembre-se, é um certificado, não uma certificação)! 😀

🌐 Microsoft Azure Fundamentals

  • AZ-900
  • 24-Hour
  • Link: https://lnkd.in/d6Xnvn_a

🌐 Microsoft Azure Administrator

  • AZ-104
  • 96-Hour
  • Link: https://lnkd.in/dyYZaDqH

🌐 Developing Solutions for Microsoft Azure

  • AZ-204
  • 120-Hour
  • Course Link: https://lnkd.in/daGp_ZqN

🌐 Designing Microsoft Azure Infrastructure Solutions

  • AZ-305
  • 96-Hour
  • Link: https://lnkd.in/d3bCnx2t

🌐 Designing and Implementing Microsoft DevOps solutions

  • Course AZ-400
  • 96-Hour Course
  • Course Link: https://lnkd.in/dGej85sS

🌐 Microsoft Azure Data Fundamentals

  • Course DP-900
  • 24-Hour Course
  • Course Link: https://lnkd.in/d2t4Jz6i

🌐 Microsoft Azure Al Fundamentals

  • Course Al-900
  • 24-Hour Course
  • Course Link https://lnkd.in/d8DEgKiJ

🌐Designing and Implementing a Microsoft Azure Al Solution

  • Course Al-102
  • 96-Hour Course
  • Course Link: https://lnkd.in/d_QBZtHa

🌐 Develop Generative Al Solutions with Azure OpenAl Service

  • Course Al-050
  • 24-Hour Course
  • Course Link: https://lnkd.in/ddf28zBD

🌐 Microsoft Security, Compliance, and Identity Fundamentals

  • Course SC-900
  • 24-Hour Course
  • Course Link: https://lnkd.in/dmzUN3jS

🌐 Microsoft Security Operations Analyst

  • Course SC-200
  • 96-Hour Course
  • Course Link: https://lnkd.in/dTUt7C7P

🌐 Microsoft Cybersecurity Architect

  • Course SC-100
  • 96-Hour Course
  • Course Link: https://lnkd.in/dK5Nw2Qa

🌐 Microsoft Azure Security Technologies

  • Course AZ-500
  • 96-Hour Course
  • Course Link: https://lnkd.in/dSfKTws5

🌐 Designing and Implementing Microsoft Azure Networking Solutions

  • Course AZ-700
  • 72-Hour Course
  • Link: https://lnkd.in/dEKyyz5Y

🌐 Data Engineering on Microsoft Azure

  • Course DP-203
  • 96-Hour Course
  • Link: https://lnkd.in/damz4ewp

🌐 Designing and implementing a data science solution on Azure

  • Course DP-100
  • 96-Hour Course
  • Link: https://lnkd.in/dedSYpEN

🌐 Administering Microsoft Azure SQL Solutions

  • Course DP-300
  • 96-Hour Course
  • Link: https://lnkd.in/dREpV56r

FreeCourses #microsoft #azure #cloud #Upskill #MicrosoftAzure #ITCareer #Cybersecurity #Opportunity #CareerDevelopment #LearningResources #ShareKnowledge #free #certification #certificacao

Continue Reading

Artigos

30 Dias de Aprendizagem

O 30 Days to Learn It pode ajudar você a obter uma Microsoft Credential em tópicos como AI, DevOps, Microsoft 365, desenvolvimento de baixo código, IoT, ciência de dados, desenvolvimento na nuvem e muito mais. Escolha seu desafio, conclua todo o conteúdo dentro de 30 dias e tenha a chance de ganhar um voucher de 50% de desconto em um exame de Microsoft Certification.

Published

on

Desenvolva proficiência nas habilidades mais requisitadas e avance em sua carreira

O 30 Days to Learn It pode ajudar você a obter uma Microsoft Credential em tópicos como AI, DevOps, Microsoft 365, desenvolvimento de baixo código, IoT, ciência de dados, desenvolvimento na nuvem e muito mais. Escolha seu desafio, conclua todo o conteúdo dentro de 30 dias e tenha a chance de ganhar um voucher de 50% de desconto em um exame de Microsoft Certification.

Microsoft liberou diversos cursos com direito a certificação, entre eles:

Veja a lista completa aqui: Microsoft Cloud Skills Challenge | 30 Days to Learn It

Sugiro que peguem uma XX-900 inicialmente… pois as intermediarias dependem de uma 900 para poder conseguir o badge.

Até a próxima!

Continue Reading

.NET

A Microsoft está oferecendo cursos de certificação GRATUITOS!

Published

on

A Microsoft está oferecendo cursos de certificação GRATUITOS!

Sem taxa, sem assinatura, sem necessidade de registro, basta começar a aprender. Esses cursos incluem palestras em vídeo, tutoriais e notas fáceis. Conheça os seguintes cursos gratuitos.

1. Fundamentos do Microsoft Azure
– Curso AZ-900T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dtYedpnZ

2. Desenvolvendo soluções para Microsoft Azure
– Curso AZ-204T00
– Curso de 120 horas
– Link do curso: https ://lnkd.in/dzVWhp7u

3. Administrador do Microsoft Azure
– Curso AZ-104T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/djrYxCqW

4. Configurando e operando o Microsoft Azure Virtual Desktop
– Curso AZ-140
– Curso de 96 horas
– Link do curso: https://lnkd.in/dsd5CPJy

5. Projetando soluções de infraestrutura Microsoft Azure
– Curso AZ-305T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/dq28keX9

7. Fundamentos de dados do Microsoft Azure
– Curso DP-900T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dmtfCKHM

8. Fundamentos de IA do Microsoft Azure
– Curso AI-900T00
– Curso de 24 horas
– Link do curso: https:// lnkd.in/drnFx6qF

9. Projetando e implementando uma solução de IA do Microsoft Azure
– Curso AI-102T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/dt_rFFgK

10. Desenvolva soluções de IA generativas com o serviço Azure OpenAI
– Curso AI-050T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dKNN3mph

11. Fundamentos de segurança, conformidade e identidade da Microsoft
– Curso SC-900T00
– Curso de 24 horas
– Link do curso: https://lnkd.in/dVWxqa_E

12. Engenharia de dados no Microsoft Azure
– Curso DP-203T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/duKTsYMa

13. Analista de operações de segurança da Microsoft
– Curso SC-200T00
– Curso de 96 horas
– Link do curso: https://lnkd.in/du3d55NG

14. Projetando e implementando soluções de rede Microsoft Azure
– Curso AZ-700T00
– Curso de 72 horas
– Link do curso: https://lnkd.in/dgmBzYDS

15. Projetando e implementando uma solução de ciência de dados no Azure
– Curso DP-100T01
– Curso de 96 horas
– Link do curso: https://lnkd.in/dZ8WXxYx

#Segurança #Cibernética #Microsoft #DesenvolvimentodeCarreira #SegurançadaInformação #Cursos #nuvem #az900 #azure #carreiratech #techrecruiter

Continue Reading

Trending

Copyright © 2023 CodeInsider.com.br - criado por Dallm IT