Lecture de données versionnées dans DB2 à 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.

RemarqueRemarque :

Les vues versionnées ne sont pas prises en charge dans les bases de données IBM DB2 sur les systèmes d'exploitation z.

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 setcurrentversion. 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é la procédure stockée setcurrentversion.

La procédure Setcurrentversion peut être exécutée directement d'un client SQL. La syntaxe est la suivante :

CALL sde.setcurrentversion('<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.

Les étapes suivantes vous indiquent comment exécuter setcurrentversion pour interroger une version :

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 un client SQL et appelez la procédure stockée setcurrentversion pour définir la version que vous souhaitez interroger.

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

    CALL sde.setcurrentversion('version2',?,?)
    

    Les points d'interrogation indiquent message code output et message output. Message code output et message output sont les codes et les messages SQL retournés après l'exécution de la procédure. Vous transmettez des points d'interrogation et le code et le message vous sont retournés.

  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.

CALL sde.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

9/12/2013