hierarchyid
veri türü ile ilgili bilgi ararken bu soruya rastladım ve soru başına hierarchyid
kodunu eklemek için kodun da göründüğünden sonra gelen herkes için ilginç olacağını düşündüm.
Bunların, hierarchyid
s eklemek için tek yol olduğunu iddia etmiyorum, ancak umarım, bu tür bir veriyle çalışan önceki deneyimim olmayanlar gibi yardımcı olur. Bu tabloyu kullanarak
,
create table OrgChart
(
Position hierarchyid,
Title nvarchar(50)
)
doğrudan dize yolları kullanarak hierarchyid
s eklemek için Parse kullanabilirsiniz: masayı
select Position.ToString(), * from OrgChart
kontrol etmek
insert into OrgChart(Position, Title)
values (hierarchyid::Parse('/'), 'CEO'),
(hierarchyid::Parse('/1/'), 'Purchase Manager'),
(hierarchyid::Parse('/1/1/'), 'Purchase Executive'),
(hierarchyid::Parse('/2/'), 'Sales Manager'),
(hierarchyid::Parse('/2/1/'), 'Sales Executive')
ve aşağıdaki sorguyu kullanın
Ayrıca'yi de kullanabilirsiniz. Hiyerarşiyi oluşturmak içinveri türü yöntemleri GetRoot ve GetDescendant. Bu yöntemi daha hantal olmak için buldum, ancak hiyerarşiyi programlı olarak yönetiyorsanız, bu yöntemleri kullanmak gerektiğini varsayalım.
declare @root hierarchyid,
@id hierarchyid
set @root = hierarchyid::GetRoot()
insert into OrgChart(Position, Title) values (@root, 'CEO')
set @id = @root.GetDescendant(null, null)
insert into OrgChart(Position, Title) values (@id, 'Purchase Manager')
set @id = @root.GetDescendant(@id, null)
insert into OrgChart(Position, Title) values (@id, 'Sales Manager')
select @id = Position.GetDescendant(null, null) from OrgChart where Title = 'Purchase Manager'
insert into OrgChart(Position, Title) values (@id, 'Purchase Executive')
select @id = Position.GetDescendant(null, null) from OrgChart where Title = 'Sales Manager'
insert into OrgChart(Position, Title) values (@id, 'Sales Executive')
Kesinlikle diğer yanıtında sağlanan bağlantıları kontrol, ama umarım hem yardımcı olacaktır denemek için bu kodu olan.
Bu URL'leri denetleyin: [Hiyerarşi Veri Türlerini Kullanma (Veritabanı Altyapısı)] (http://technet.microsoft.com/en-us/library/bb677173.aspx) [Eğitmen: Hiyerarşid Veri Türünü Kullanma] (http: //technet.microsoft.com/en-us/library/bb677213.aspx) –