Udostępnij za pośrednictwem


Creating a Table Using the hierarchyid Data Type

Poniższy przykład tworzy tabela o nazwie EmployeeOrg, który zawiera dane dotyczące pracowników wraz z ich hierarchii raportowania.W przykładzie tworzy tabela w AdventureWorks bazy danych, ale jest opcjonalny. Aby zachować prosty przykład, tabela zawiera tylko pięć kolumn:

  • OrgNode is a hierarchyid kolumna, która przechowuje relacje hierarchiczne.

  • OrgLevel jest kolumna obliczana, oparte na OrgNode kolumnę, która przechowuje każdego poziom węzłów w hierarchii.Będzie ona używana dla indeksu pierwszego szerokość.

  • Pole IDPracownika zawiera numer identyfikacyjny pracownika typowe, używany w aplikacji, takich jak listy płac.W przypadku tworzenia nowej aplikacji, aplikacje mogą używać OrgNode kolumn i to oddzielne Pole IDPracownika kolumna nie jest konieczne.

  • EmpName zawiera nazwisko pracownika.

  • Tytuł zawiera tytuł pracownika.

Aby utworzyć tabela EmployeeOrg

  1. W oknie Edytora kwerend, należy uruchomić następujący kod w celu utworzenia EmployeeOrg tabela.Określanie OrgNode kolumna jako klucz podstawowy z indeks klastrowany spowoduje utworzenie indeksu pierwszego głębokości:

    USE AdventureWorks
    GO
    CREATE TABLE HumanResources.EmployeeOrg
    (
       OrgNode hierarchyid PRIMARY KEY CLUSTERED,
       OrgLevel AS OrgNode.GetLevel(),
       EmployeeID int UNIQUE NOT NULL,
       EmpName varchar(20) NOT NULL,
       Title varchar(20) NULL
    ) ;
    GO
    
  2. Uruchom poniższy kod, aby utworzyć indeks złożony na OrgLevel and OrgNode kolumn do obsługi efektywne wyszukiwanie pierwszego szerokość:

    CREATE UNIQUE INDEX EmployeeOrgNc1 
    ON HumanResources.EmployeeOrg(OrgLevel, OrgNode) ;
    GO
    

W tabela jest teraz gotowy do danych.Następnego zadania są powielane w tabela przy użyciu metod hierarchicznej.

Keyboard Shortcuts in Reporting Services

Populating a Hierarchical Table Using Hierarchical Methods