Lecture de données versionnées dans SQL Server à 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 procédure stockée set_current_version. Cette procédure valide le nom de version fourni et définit l'état de la 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é set_current_version.

La procédure Set_current_version peut être exécutée directement d'un client SQL. La syntaxe est la suivante suit pour une géodatabase de structure sde :

EXEC sde.set_current_version '<version_name>'

Pour les géodatabases de structure dbo, la procédure stockée est la propriété de dbo. La syntaxe est par conséquent la suivante :

EXEC dbo.set_current_version '<version_name>'

Le cas échéant, cette procédure 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.

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. Ouvrez une fenêtre de requête Transact SQL et exécutez la procédure stockée set_current_version pour définir la version que vous désirez interroger.

    Dans cet exemple, la version2 est définie comme la version à interroger.

    EXEC sde.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 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, exécutez la procédure set_default.

--For sde-schema geodatabases
EXEC sde.set_default;

--For dbo-schema geodatabases
EXEC dbo.set_default;
Vous pouvez exécuter ensuite des instructions SELECT sur la vue versionnée et vos requêtes verront l'état le plus récent de la version PAR DEFAUT.

Thèmes connexes

5/10/2014