2009-12-17 27 views
6

Trong SQL Server 2008, tôi có trường phân cấp (hierarchyid). Làm thế nào để thay đổi giá trị của nó hoặc chèn hàng mới khi sử dụng SQL Server Management Studio "chỉnh sửa hàng" lệnh? Có một biểu diễn văn bản sẽ được chuyển đổi thành ID không?Cách chèn/chỉnh sửa trường phân cấp dưới dạng văn bản trong SQL studio

Có, tôi biết tôi có thể làm điều đó bằng truy vấn, nhưng tôi muốn thủ công nhập mã đó làm TEXT bằng trình chỉnh sửa studio.

Cảm ơn!

Trả lời

9

Bạn có thể chuyển đổi một HierarchyId thành một chuỗi sử dụng:

hierarchyField.ToString(); 

Bạn sẽ nhận được một cái gì đó như '/ 1 /', '/ 1/1 /', '/ 1/2 /' và vì vậy ra.

Và bạn có thể chuyển đổi một chuỗi đại diện như trở lại một HierarchyId với

SET hierarchyField = hierarchyid::Parse(string) 

hoặc

CAST('/2/' AS hierarchyid)  

Thông tin chi tiết về vấn đề này có thể được tìm thấy trên Technet

+0

có, nhưng làm cách nào bạn có thể nhập số đó vào trình chỉnh sửa bảng văn bản trong studio? Nhân vật đặc biệt duy nhất mà tôi biết là NULL - nó tự động được chuyển đổi từ văn bản thành giá trị NULL. – Yurik

+3

Tôi không nghĩ rằng bạn có thể nhập các giá trị đó trong trình soạn thảo bảng tương tác - bạn sẽ cần sử dụng tập lệnh SQL để thực hiện điều đó. –

0

Bạn có thể nhập HierarchyId trực tiếp vào bảng Visual Studio dưới dạng chuỗi.

1.) Đối với ID gốc bạn chỉ cần gõ một dấu gạch chéo:/

2.) Đối với một mức độ xuống:/1/(phải bao gồm các dấu gạch chéo)

3.) Đối với người khác lá, mức độ tương tự như bước 2 ở trên:/2/

4.) Đối với con của/1 /:/1/1/

5.) con thứ hai của/1 /:/1/2/

vv Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan