共用方式為


使用階層式資料設定資料表

將資料表轉換為階層式結構的第一步是建立要轉換的資料表。下列程序所建立的資料表包含員工識別碼、經理識別碼與登入識別碼的相關資訊。

若要建立 EmployeeDemo 資料表

  • 在 [查詢編輯器] 視窗中,執行下列程式碼以建立名稱為 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);
    

若要檢查 EmployeeDemo 資料表的結構和資料

  • 這個新的 EmployeeDemo 資料表代表現有的資料庫中,您想要移轉成新結構的一般資料表。在 [查詢編輯器] 視窗中,執行下列程式碼以顯示資料表如何使用自我聯結來顯示員工/主管關聯性:

    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;
    

    以下為結果集:

    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

在下一項工作中,我們將建立資料類型為 hierarchyid 的新資料表,然後將資料移到這個新資料表中。

本課程的下一項工作

使用現有的階層式資料填入資料表