2009-12-17 5 views
6

Dans SQL Server 2008, j'ai un champ hiérarchique (hierarchyid). Comment puis-je modifier sa valeur ou insérer une nouvelle ligne lors de l'utilisation de la commande "Modifier les lignes" de SQL Server Management Studio? Y a-t-il une représentation textuelle qui sera convertie en ID?Comment insérer/modifier un champ hierarchyid en tant que texte dans SQL Studio

Oui, je sais que je pourrais le faire à l'aide d'une requête, mais je voudrais manuellement entrer comme TEXTE utilisant l'éditeur de studio.

Merci!

Répondre

9

Vous pouvez convertir un hierarchyid à une chaîne en utilisant:

hierarchyField.ToString(); 

Vous obtiendrez quelque chose comme '/ 1 /', '/ 1/1 /', '/ 1/2 /' et ainsi avant.

Et vous pouvez convertir une telle représentation de chaîne de retour à un hierarchyid avec

SET hierarchyField = hierarchyid::Parse(string) 

ou

CAST('/2/' AS hierarchyid)  

Plus de détails sur ce qui peut être trouvé sur Technet

+0

oui, mais comment pouvez-vous entrer ce nombre dans l'éditeur de table textuelle dans le studio? Le seul caractère spécial que je connais est NULL - il est automatiquement converti du texte en valeur NULL. – Yurik

+3

Je ne pense pas que vous pouvez entrer ces valeurs dans l'éditeur de table interactif - vous aurez besoin d'utiliser un script SQL pour le faire. –

0

Vous pouvez entrer dans le hierarchyid directement dans la table Visual Studio en tant que chaînes.

1.) Pour l'ID racine vous tapez une barre oblique:/

2.) Pour un niveau plus bas:/1/(doit inclure le slash)

3.) Pour un autre feuille, même niveau que l'étape 2 ci-dessus:/2/

4.) Pour l'enfant/1 /:/1/1/

5.) Deuxième enfant de/1 /:/1/2/

etc. Espérons que cela aide.

Questions connexes