Bir arabanın parça listesi (bill of material) oluştur
Bu egzersizde şu soruyu yanıtlayacaksın: Bir arabayı oluşturan farklı bileşenlerin seviyeleri nedir?
Örneğin, bir SUV (1. seviye), bir motordan (2. seviye) ve bir gövdeden (2. seviye) oluşur; gövde ise bir kapıdan (3. seviye) ve bir kaputtan (3. seviye) oluşur.
Görevin, partList tablosunun hiyerarşi seviyesini almak için bir sorgu oluşturmak. construction_Plan adlı CTE'yi oluşturmalı ve bir bileşenin hiyerarşideki konumunu takip etmelisin. Tüm bileşenleri 1. seviyeden başlayıp 2. seviyeye kadar takip et.
Bu egzersiz
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular
kursunun bir parçasıdırEgzersiz talimatları
construction_Plan'i şu alanlarla tanımla:PartID,SubPartID,Title,ComponentveLevel.Levelalanını 1 olarak başlat.- Her yineleme adımında
Leveldeğerini 1 artır. - Adım sayısını (
Level) 2'den küçük olacak şekilde sınırla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- 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;