Lecture de données versionnées dans PostgreSQL à 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 la fonction sde_set_current_version. Cette fonction 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 pointeront toujours l'état auquel la version faisait référence lorsque vous avez exécuté sde_set_current_version.
La fonction Sde_set_current_version peut être exécutée directement d'un client SQL. La syntaxe est la suivante :
SELECT sde.sde_set_current_version('<version_name>');
Le cas échéant, cette fonction peut être rappelée pour modifier d'autres versions. Elle peut être appelée chaque fois que l'espace de travail est actualisé pour renvoyer l'état courant de la table versionnée à l'application d'appel.
Pour revenir à l'interrogation de l'état courant de la version PAR DEFAUT, exécutez la fonction edit_default.
-
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.
-
Ouvrez un client psql et utilisez la fonction sde_set_current_version pour définir la version que vous souhaitez interroger.
Dans cet exemple, la version2 est définie comme la version à interroger.
SELECT sde.sde_set_current_version('version2');
-
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 owner, site_address, region FROM code_mv WHERE region = 'b'
Si vous devez revenir à une requête sur l'état courant de la version PAR DEFAUT, appelez la fonction set_default.
SELECT sde.set_default;