ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Mettre à jour des données versionnées dans PostgreSQL à l'aide de SQL

  • Mettre à jour la version Par défaut
  • Mettre à jour une version nommée
  • Basculer de la mise à jour d'une version nommée à la mise à jour de la version Par défaut
  • Réconcilier et publier les modifications à la version nommée
Complexité :
Débutant
Conditions requises pour les données
Utiliser vos propres données

Pour utiliser SQL afin de mettre à jour des données enregistrées comme versionnées, vous devez utiliser une vue versionnée. Vous pouvez modifier la version Default (Par défaut) ou une version nommée via une vue versionnée. Reportez-vous à la rubrique Présentation de la mise à jour de données versionnées à l'aide de SQL pour obtenir une description de chacune des options.

Dans la plupart des cas, vous utiliserez une seule méthode de mise à jour. Il est cependant possible d'utiliser les deux méthodes sur le même site. Ce workflow explique donc comment utiliser les deux méthodes afin que vous sachiez comment procéder pour passer de l'une à l'autre. Si vous utilisez une seule méthode, lisez la section portant sur la méthode de mise à jour que vous souhaitez utiliser.

Mettre à jour la version Par défaut

Vous pouvez utiliser SQL pour vous connecter à la version Par défaut et mettre à jour une vue versionnée. Il n'est pas nécessaire d'ouvrir une session de mise à jour. Lorsque vous commencez la mise à jour, vous vous connectez automatiquement à l'état actuel de la version Par défaut.

Validez après chaque modification effectuée pour éviter d'empêcher d'autres utilisateurs d'accéder aux tables de deltas de la table ou de la classe d'entités.

Dans les étapes suivantes, une vue versionnée (blic_evw) est mise à jour. Les mises à jour apportées à cette vue sont écrites dans les tables de deltas de la table versionnée blic. Comme il n'y a que deux modifications, vous les réaliserez dans la version Par défaut.

  1. Connectez-vous à la base de données à partir d'un client SQL. Veillez à vous connecter en tant qu'utilisateur ayant les privilèges requis pour mettre à jour le jeu de données et la vue versionnée.
  2. Effectuez la première modification dans la vue versionnée à l'aide de SQL.

    Dans cet exemple, un enregistrement existant est mis à jour pour modifier le nom du propriétaire de propriété.

    UPDATE blic_evw 
    SET propowner = 'C. O. Industry' 
    WHERE lic = 44977;
    
  3. Validez vos mises à jour.
    COMMIT;
    
  4. Faites la modification suivante.

    Un nouvel enregistrement est ajouté à la table via la vue versionnée. La table contient une colonne ST_Geometry (emplacement).

    INSERT INTO blic_evw (propowner, date_entered, location)
    VALUES (
      'Moe Esposito', 
      current_date, 
      sde.ST_Point('point (0.0125662 0.0046711)', 12));
    

    Astuce :

    Dans l'instruction INSERT, aucune valeur IdObjet n'est spécifiée. La vue versionnée obtient automatiquement le prochain IdObjet disponible, qui est inséré dans l'enregistrement.

  5. Validez vos mises à jour.
    COMMIT;
    

Mettre à jour une version nommée

Une pile de mises à jour pour la classe d'entités blic vous est remise. Vous décidez donc que ce serait une bonne idée d'effectuer les modifications dans une version nommée.

Les fonctions utilisées pour mettre à jour une version nommée de la géodatabase et leur syntaxe sont présentées ci-dessous :

FonctionObjetSyntaxe et description

sde.sde_create_version

Crée une version nommée de la géodatabase.

Si vous mettez à jour des versions nommées (versions autres que la version Par défaut), modifiez toujours votre propre version distincte ; plusieurs éditeurs ne peuvent pas modifier la même version nommée à l'aide de vues versionnées.

SELECT sde.sde_create_version ('<parent_name>', '<child_version>', <rule_code>, <access_code>, '<description>')

sde.sde_set_current_version

Définit la version de géodatabase à laquelle vous souhaitez accéder et son état.

SELECT sde.sde_set_current_version('<child_version>');

sde.sde_edit_version

Démarre et termine une session de mise à jour sur une version nommée.

SELECT sde.sde_edit_version('<child_version>',<1 ou 2>)

Spécifiez 1 pour démarrer la session de mise à jour. Spécifiez 2 pour l'arrêter.

Les paramètres dans les instructions choisies représentent les éléments suivants :

  • <parent_version> est la version à partir de laquelle votre version est créée.
  • <child_version> est la version nommée que vous créez pour mise à jour.
  • <name_rule> indique si le nom spécifié pour la version doit être accepté tel qu'il est fourni (2) ou si un nom unique doit être créé quand un nom dupliqué est spécifié (1).
  • <access> est le niveau d'autorisation de la version : 0 pour Privé, 1 pour Public ou 2 pour Protégé.
  • <description> est un texte descriptif de la version enfant.

Dans les étapes suivantes, une version nommée (myedits12111) est créée à partir de la version Par défaut et les mises à jour sont effectuées dans cette version via la vue versionnée blic_evw.

  1. A partir d'un client SQL, créez une nouvelle version dans laquelle effectuer les mises à jour.
    SELECT sde.sde_create_version
    ('sde.DEFAULT', 'myedits12111', 2, 1, 'version for edits');
    
  2. Le texte entre apostrophes est lu littéralement. Par conséquent, le texte que vous saisissez entre guillemets doit correspondre à la casse du texte (tout en majuscules, tout en minuscules ou casse mixte) tel qu'il est stocké dans la base de données.

  3. Définissez la version pour la session de mise à jour sur la version enfant que vous venez de créer.
    SELECT sde.sde_set_current_version('myedits12111');
    
  4. Ouvrez une session de mise à jour en exécutant la fonction sde_edit_version et en spécifiant 1.

    La valeur 1 indique qu'une session de mise à jour doit être ouverte.

    SELECT sde.sde_edit_version('myedits12111',1);
    
  5. Apportez un ensemble de modifications sur la vue versionnée à l'aide de SQL.
    INSERT INTO blic_evw (propowner, date_entered, location)
    VALUES (
      'V. Nay', 
      current_date, 
      sde.ST_Point('point (0.0125699 0.0046700)', 12));
    UPDATE blic_evw 
    SET phone1 = '555.111.2345', phone2 = '555.111.6789' 
    WHERE propowner = 'Tella Chomsky';
    UPDATE blic_evw
    SET exp_date = '2020-06-30 17:00:00'
    WHERE lid = 22903;
    UPDATE blic_evw
    SET location = sde.ST_Point('point (0.0125705 0.0046688)', 12))
    WHERE lid = 8992;
    INSERT INTO blic_evw 
    (codenum, propowner) 
    VALUES (456, 'Anjo Badsu');
    DELETE FROM blic_evw
    WHERE lid = 133;
    
  6. Validez vos mises à jour.
    COMMIT;
    
  7. Apportez d'autres modifications avec SQL. Après avoir terminé la série de modifications suivante, fermez la session de mise à jour.
  8. Arrêtez la session de mise à jour en exécutant la fonction sde_edit_version, mais cette fois, spécifiez 2.

    La valeur 2 indique que la session de mise à jour doit être fermée.

    SELECT sde.sde_edit_version('myedits12111',2);
    

    Astuce :

    Vous pouvez modifier une seule version par session de mise à jour. Par exemple, si vous désirez modifier une deuxième version (telle que mynewedits), vous devez fermer la session de mise à jour sur myedits12111, comme l'indique cette étape. Vous pourriez ensuite appeler sde_set_current_version pour pointer la version mynewedits et démarrer une session de mise à jour sur cette version en appelant sde_edit_version.

Basculer de la mise à jour d'une version nommée à la mise à jour de la version Par défaut

Si vous devez revenir à la mise à jour de la version Par défaut directement, par exemple si votre gestionnaire vous dit que d'autres utilisateurs de votre site doivent voir une modification particulière sur-le-champ, vous pouvez appeler set_default pour ce faire. La modification que vous apportez à la version Par défaut est visible par les autres utilisateurs connectés à la version Par défaut dès qu'ils actualisent leur connexion client.

La fonction utilisée pour modifier la version Par défaut de la géodatabase et sa syntaxe sont présentées ci-dessous :

FonctionObjetSyntaxe et description

sde.set_default

Revient à la mise à jour de l'état actuel de la version Par défaut.

Appelez cette fonction si vous modifiiez une version nommée ou un état spécifique de la version Par défaut, mais souhaitez revenir à la mise à jour de la version actuelle de la version Par défaut.

SELECT sde.set_default

  1. A l'invite SQL, exécutez la fonction set_default.
    SELECT sde.set_default;
    

    La session est maintenant configurée pour mettre à jour l'état actuel référencé par la version Par défaut.

  2. Mettez à jour la vue versionnée blic_evw.
    INSERT INTO blic_evw (propowner, b_name, date_entered, location) VALUES (  'Ruben Gol',   current_date, 
      'Chez Coiffure',  sde.ST_Point ('point (0.0125650 0.0046721)', 12));
    
  3. Validez vos mises à jour.
    COMMIT;
    

    Les autres clients qui pointent sur le même état de la version Par défaut ou sur tout état dans sa généalogie peuvent actualiser leur connexion et voir la nouvelle entité ponctuelle.

Réconcilier et publier les modifications à la version nommée

Lorsque vous avez terminé la mise à jour de la version nommée, vous devez vous utiliser ArcGIS pour réconcilier, réviser et résoudre les conflits et publier vos modifications. Cette opération peut être exécutée dans ArcGIS Desktop à l'aide de l'outil de géotraitement Reconcile Versions (Réconcilier des versions) ou d'un script Python. Pour plus d'informations, consultez les rubriques suivantes :

  • Présentation rapide de la réconciliation d'une version
  • Réconciliation d'une version
  • Présentation rapide de la révision des conflits
  • Réinjection des modifications
  • Réconcilier des versions
Astuce :

Si les données que vous modifiez sont inscrites comme versionnées avec l'option d'enregistrement des mises à jour dans la table de base, les mises à jour sont déplacées vers la table de base après leur réconciliation et réinjection dans la version Par défaut.

Une fois les mises à jour réinjectées dans la version Par défaut, votre version nommée peut être supprimée. La fonction utilisée pour supprimer la version nommée après avoir réconcilié et réinjecté les mises à jour dans la version Par défaut de la géodatabase et sa syntaxe sont présentées ci-dessous :

FonctionObjetSyntaxe et description

sde.sde_delete_version

Supprime une version de géodatabase.

SELECT sde.sde_delete_version('<child_version>');

L'exemple suivant supprime myedits12111 une fois toutes les modifications réconciliées et réinjectées dans la version Par défaut :

SELECT sde.sde_delete_version('myedits12111');

Rubriques connexes

  • Présentation de la mise à jour de données versionnées à l'aide de SQL
  • Définition d'une vue versionnée
  • Activez l’accès SQL sur les données de géodatabase à partir d’ArcGIS Desktop
  • Version_View_Name
  • Is_Versioned

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal