Sprawdzanie bieżącej struktury tabela pracowników
Próbki AdventureWorks Baza danych zawiera Pracownika tabelaHumanResources schematu.Aby zapobiec zmianie pierwotnej tabela, w tym kroku tworzy kopię Pracownika tabela o nazwie EmployeeDemo.W celu uproszczenia przykładu, można kopiować tylko pięć kolumn z tabela pierwotnej.Następnie należy zbadać HumanResources.EmployeeDemo tabela do przeglądania struktury danych w tabela bez użycia hierarchyid Typ danych.
Aby skopiować z tabela pracowników
W oknie Edytora kwerend, należy uruchomić następujący kod w celu skopiowania struktury tabela i dane z Pracownika tabela do nowej tabela o nazwie EmployeeDemo.
USE AdventureWorks ; GO SELECT EmployeeID, LoginID, ManagerID, Title, HireDate INTO HumanResources.EmployeeDemo FROM HumanResources.Employee ; GO
Zbadanie struktury i dane tabela EmployeeDemo
To nowe EmployeeDemo tabela przedstawia typową tabela w istniejącej bazie danych, które można dokonać migracji do nowej struktury.W oknie Edytora kwerend uruchom poniższy kod, aby pokazać, jak w tabela używa autosprzężenie spowoduje wyświetlanie relacji pracownik/Menedżera:
SELECT Mgr.EmployeeID AS MgrID, Mgr.LoginID AS Manager, Emp.EmployeeID AS E_ID, Emp.LoginID, Emp.Title FROM HumanResources.EmployeeDemo AS Emp LEFT JOIN HumanResources.EmployeeDemo AS Mgr ON Emp.ManagerID = Mgr.EmployeeID ORDER BY MgrID, E_ID
Here is the result set.
MgrID Manager E_ID LoginID Title NULL NULL 109 adventure-works\ken0 Chief Executive Officer 3 adventure-works\roberto0 4 adventure-works\rob0 Senior Tool Designer 3 adventure-works\roberto0 9 adventure-works\gail0 Design Engineer 3 adventure-works\roberto0 11 adventure-works\jossef0 Design Engineer 3 adventure-works\roberto0 158 adventure-works\dylan0 Research and Development Manager 3 adventure-works\roberto0 263 adventure-works\ovidiu0 Senior Tool Designer 3 adventure-works\roberto0 267 adventure-works\michael8 Senior Design Engineer 3 adventure-works\roberto0 270 adventure-works\sharon0 Design Engineer 6 adventure-works\david0 2 adventure-works\kevin0 Marketing Assistant ...
Wyniki w dalszym ciągu dla wszystkich wierszy 290.
Zwróć uwagę, że ORDER BY Klauzula spowodowane danych wyjściowych do wyświetlenia bezpośrednich podwładnych każdego poziom zarządzania ze sobą. Na przykład wszystkich siedmiu bezpośrednich podwładnych z MgrID 3 (roberto0) są wyświetlane obok siebie.Mimo że jest to niemożliwe, są znacznie trudniejsze do grupowania wszystkich osób, które po pewnym czasie raportu MgrID 3.
W kolejnym zadaniem firma Microsoft będzie utworzyć nową tabela z hierarchyid Typ danych i przenieść dane do nowej tabela.