CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Définissez construction_Plan avec les champs : PartID, SubPartID, Title, Component et Level.
  • Initialisez le champ Level à 1.
  • Augmentez Level de 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;
Modifier et exécuter le code