Condividi tramite


Impostazione di una tabella con dati gerarchici

Il primo passaggio nella conversione di una tabella in una struttura gerarchica consiste nel creare la tabella da convertire. La procedura riportata di seguito crea una tabella contenente informazioni sull'ID di un dipendente, sull'ID del responsabile e sull'ID di accesso.

Per creare la tabella EmployeeDemo

  • In una finestra dell'editor di query eseguire il codice seguente per creare una nuova tabella denominata EmployeeDemo.

    CREATE TABLE EmployeeDemo (EmployeeID int, LoginID varchar(200), ManagerID int);
    INSERT INTO EmployeeDemo 
    VALUES (1, 'zarifin', Null), 
           (2, 'tplate', 1),
           (3, 'hjensen', 1),
           (4, 'schai', 2),
           (5, 'elang', 2),
           (6, 'gsmits', 2),
           (7, 'sdavis', 3),
           (8, 'norint', 3),
           (9, 'jwang', 4),
           (10, 'malexander', 4);
    

Per esaminare la struttura e i dati della tabella EmployeeDemo

  • Questa nuova tabella EmployeeDemo rappresenta una tabella tipica di un database esistente di cui è possibile eseguire la migrazione a una nuova struttura. In una finestra editor di query, eseguire il codice seguente per visualizzare il modo in cui la tabella utilizza un self-join per visualizzare le relazioni dipendente/responsabile:

    SELECT 
         Mgr.EmployeeID AS MgrID, Mgr.LoginID AS Manager, 
         Emp.EmployeeID AS E_ID, Emp.LoginID AS LoginID 
    FROM EmployeeDemo AS Emp
    LEFT JOIN EmployeeDemo AS Mgr
    ON Emp.ManagerID = Mgr.EmployeeID
    ORDER BY MgrID, E_ID;
    

    Set di risultati:

    MgrID Manager E_ID LoginID

    NULL NULL 1 zarifin

    1 zarifin 2 tplate

    1 zarifin 3 hjensen

    2 tplate 4 schai

    2 tplate 5 elang

    2 tplate 6 gsmits

    3 hjensen 7 sdavis

    3 hjensen 8 norint

    4 schai 9 jwang

    4 schai 10 malexander

Nell'attività successiva verrà creata una nuova tabella con un tipo di dati hierarchyid e verranno spostati i dati nella nuova tabella.