Insertion d'une valeur dans une colonne d'identifiant global ou GUID dans DB2 à l'aide de 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 une colonne 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 cela, utilisez la fonction sde.retrieve_GUID(). Lorsque vous mettez à jour une table non versionnée, vous pouvez insérer directement l'identifiant dans la table. Lorsque vous modifiez une table versionnée, utilisez la fonction sde.retrieve_GUID() pour insérer une valeur dans la colonne d'identifiant global ou GUID d'une vue versionnée de la table, à l'aide de SQL.

AstuceAstuce:

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.

Etapes :
  1. Si vous modifiez une table versionnée à l'aide d'ArcGIS version 10.1 ou ultérieure, il existe déjà une vue versionnée dans la base de données pour cette table. Le nom de la vue est le nom de table suivi de _vw. S'il n'existe pas de vue versionnée, vous pouvez en créer une à partir d'ArcGIS for Desktop. Consultez la rubrique Création de vues versionnées à partir d'ArcGIS for Desktop obtenir des instructions.
  2. Connectez-vous à la base de données à partir d'une invite SQL en tant qu'un utilisateur autorisé à modifier la table.

    Si vous effectuez une mise à jour via une vue versionnée, le nom d'utilisateur sous lequel vous vous connectez doit avoir également les privilèges de modification de la vue.

  3. Si vous modifiez une table versionnée, consultez la rubrique Mise à jour de données versionnées dans DB2 à l'aide de SQL pour les instructions d'utilisation de vues versionnées à des fins de mise à jour. Si vous mettez à jour une table non versionnée, passez à l'étape suivante.
  4. Lorsque vous insérez un enregistrement, utilisez la fonction sde.retrieve_guid() pour insérer la prochaine valeur d'identifiant global.
    INSERT INTO jason.asset_vw (asset_id,globalid) 
    VALUES (57,sde.retrieve_guid());
    
  5. Lorsque vous avez terminé vos modifications, validez-les dans la base de données.
9/12/2013