Créer la nomenclature d'une voiture
Dans cet exercice, vous répondrez à la question suivante : Quels sont les niveaux des différents composants qui constituent une voiture?
Par exemple, un VUS (1er niveau) est composé d'un moteur (2e niveau) et d'une carrosserie (2e niveau), et la carrosserie est composée d'une porte (3e niveau) et d'un capot (3e niveau).
Votre tâche est de créer une requête pour obtenir le niveau hiérarchique de la table partList. Vous devez créer la CTE construction_Plan et conserver la position d'un composant dans la hiérarchie. Suivez tous les composants en commençant au niveau 1 jusqu'au niveau 2.
Cette activité fait partie du cours
Requêtes hiérarchiques et récursives dans SQL Server
Instructions de l’exercice
- Définissez
construction_Planavec les champs :PartID,SubPartID,Title,ComponentetLevel. - Initialisez le champ
Levelà 1. - Augmentez
Levelde 1 à chaque étape de la récursion. - Limitez le nombre d'étapes (
Level) à une valeur inférieure à2.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;