Crie a lista de materiais de um carro
Neste exercício, você vai responder à seguinte pergunta: quais são os níveis dos diferentes componentes que formam um carro?
Por exemplo, um SUV (1º nível) é composto por um motor (2º nível) e uma carroceria (2º nível), e a carroceria é formada por uma porta (3º nível) e um capô (3º nível).
Sua tarefa é criar uma consulta para obter o nível hierárquico da tabela partList. Você deve criar a CTE construction_Plan e acompanhar a posição de cada componente na hierarquia. Acompanhe todos os componentes começando no nível 1 até o nível 2.
Este exercício faz parte do curso
Consultas Hierárquicas e Recursivas no SQL Server
Instruções do exercício
- Defina
construction_Plancom os campos:PartID,SubPartID,Title,ComponenteLevel. - Inicialize o campo
Levelcom 1. - Aumente
Levelem 1 a cada passo da recursão. - Limite o número de passos (
Level) a menor que2.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- Define CTE with the fields: PartID, SubPartID, Title, Component, Level
___ construction_Plan (___, ___,___, ___, ___) AS (
SELECT
PartID,
SubPartID,
Title,
Component,
-- Initialize the field Level
___
FROM partList
WHERE PartID = '1'
UNION ALL
SELECT
CHILD.PartID,
CHILD.SubPartID,
CHILD.Title,
CHILD.Component,
-- Increment the field Level each recursion step
PARENT.___ + ___
FROM construction_Plan PARENT, partList CHILD
WHERE CHILD.SubPartID = PARENT.PartID
-- Limit the number of iterations to Level < 2
AND PARENT.___ < ___)
SELECT DISTINCT PartID, SubPartID, Title, Component, Level
FROM construction_Plan
ORDER BY PartID, SubPartID, Level;