Insertion d'une valeur dans une colonne d'identifiant global ou GUID dans SQL Server avec SQL

Les types de données d'identifiant global (GlobalID) et GUID contiennent des chaînes de registre constituées de 36 caractères placés entre des accolades. Ces chaînes identifient de manière unique une entité ou une ligne de table dans une géodatabase et entre plusieurs géodatabases. Les identifiants globaux permettent de conserver l'unicité des enregistrements dans des réplicas bidirectionnels et monodirectionnels de géodatabase. Les GUID peuvent être ajoutés à n'importe quelle couche.

Par conséquent, si la table que vous souhaitez mettre à jour fait partie d'une réplication ou contient un GUID, vous devez insérer une valeur unique dans la colonne d'identifiant global ou GUID lorsque vous insérez un nouvel enregistrement dans la table avec SQL. Pour ce faire, utilisez la fonction newid() de Microsoft SQL Server. Si la table que vous mettez à jour est versionnée, utilisez la fonction newid() pour modifier une vue multi-versionnée de la table avec SQL.

ConseilConseil :

Vous pouvez ajouter des identifiants globaux à une classe d'entités dans la fenêtre Catalogue en cliquant avec le bouton droit de la souris sur le jeu de données, puis en choisissant Ajouter les ID globaux. La géodatabase conserve automatiquement ces valeurs lors de la mise à jour avec ArcGIS.

Étapes :
  1. Si vous mettez à jour une table versionnée, créez une vue multi-versionnée à partir de cette table en suivant les instructions de la rubrique Création de vues multi-versionnées.
  2. Connectez-vous à SQL Server Management Studio avec un nom d'utilisateur autorisé à modifier la table.
  3. Ouvrez une nouvelle fenêtre de requête et connectez-vous à la base de données qui contient la vue à modifier.
  4. Si vous mettez à jour une table versionnée, créez une version, définissez la version, puis démarrez une session de mise à jour comme le décrit la rubrique Mise à jour de données versionnées dans SQL Server à l'aide de vues multi-versionnées et de SQL. Si vous mettez à jour une table non versionnée, passez à l'étape suivante.
  5. Utilisez la fonction newid() pour renseigner la colonne d'identifiant global ou GUID lorsque vous insérez un enregistrement dans la table.
    INSERT INTO jason.asset_mv (asset_id,globalid) 
    VALUES (57,newid())
    
  6. Lorsque vous avez terminé, fermez la session de mise à jour si vous utilisez une vue multi-versionnée. Reportez-vous à la rubrique Mise à jour de données versionnées dans SQL Server à l'aide de vues multi-versionnées et de SQL pour en savoir plus sur la syntaxe.

3/6/2012