Lecture de données versionnées dans Oracle à l'aide de vues versionnées

Vous pouvez exécuter des instructions SELECT SQL sur des vues versionnées pour accéder aux données versionnées.

Les vues versionnées accèdent automatiquement à l'état courant de la version PAR DEFAUT. Si vous exécutez des instructions SELECT sur une vue versionnée, elles accèdent à l'état courant de la version PAR DEFAUT. Si d'autres utilisateurs valident des modifications apportées à la version PAR DEFAUT (modifiant ainsi l'état auquel fait référence la version PAR DEFAUT), vos requêtes suivantes verront l'état le plus récent de la version PAR DEFAUT et les modifications.

Si vous souhaitez interroger une version autre que la version PAR DEFAUT, ou que vous ne souhaitiez pas que vos requêtes sur la version PAR DEFAUT modifient des états, exécutez l'utilitaire version_util.set_current_version. Cet utilitaire valide le nom de version fourni et définit l'état de base de données correspondant en interne. Les requêtes exécutées sur la version pointent toujours l'état auquel la version faisait référence lorsque vous avez exécuté version_util.set_current_version.

L'utilitaire Version_util.set_current_version peut être exécuté directement d'un client SQL. La syntaxe est la suivante :

EXEC sde.version_util.set_current_version('<version_name>')

Le cas échéant, cet utilitaire peut être rappelé pour modifier d'autres versions. Il peut être appelé chaque fois que l'espace de travail est actualisé pour renvoyer l'état courant de la table versionnée à l'application d'appel.

Etapes :
  1. Assurez-vous il y a une vue versionnée pour la table ou classe d'entités versionnée à laquelle vous souhaitez accéder.

    À partir d'ArcGIS 10.1, les vues versionnées sont créées lorsque vous versionnez des données. Si vos données étaient versionnées avant 10.1, vous pouvez créer une vue versionnée en exécutant l'outil de géotraitement Créer une vue versionnée.

  2. A une invite SQL, exécutez l'utilitaire version_util.set_current_version pour définir la version que vous souhaitez interroger.

    Dans cet exemple, la version2 est définie comme version à interroger dans la géodatabase sde principale. Si vous exécutez ceci sur une version dans une géodatabase de structure utilisateur, l'utilitaire est précédé du nom du propriétaire de la géodatabase.

    EXEC sde.version_util.set_current_version('version2')
    
  3. Exécutez une instruction SELECT sur la vue versionnée pour lire les données versionnées de la géodatabase.

    Dans cet exemple, la vue versionnée est code_mv.

    SELECT violationID,codenum,propowner,insp_date 
    FROM code_mv 
    WHERE zip = '99999';
    

Si vous devez revenir à une requête sur l'état courant de la version PAR DEFAUT, exécutez la procédure set_default.

EXEC sde.version_util.set_default();
Vous pouvez exécuter ensuite des instructions SELECT sur la vue versionnée et vos requêtes porteront sur l'état le plus récent de la version PAR DEFAUT.

Thèmes connexes

5/10/2014